home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / SCRIPTZ / ES3.ZIP / versions.txt < prev    next >
Text File  |  1997-04-02  |  138KB  |  3,064 lines

  1. 02/04/97 - mIRC v5.0
  2.  
  3. Fixes/Additions:
  4. 1.Fixed /sound command when used with channels which have
  5.   a . in their name.
  6. 2.Title of custom menubar now updates when /loading popup.
  7. 3.There's no longer a limit on the number of items in a
  8.   popup menu (apart from the editbox limitation).
  9. 4.Fixed /finger bug.
  10. 5.Fixed /ignore bug.
  11. 6.Fixed $ial() bug.
  12. 7.If "show query in active window" is checked actions should
  13.   now appear in the active window.
  14. 8.Fixed $online identifier.
  15. 9.Fixed problem with /sound when the sounds directory contains
  16.   a space in its name.
  17. 10.Fixed notify not being timestamped in certain situations.
  18. 11.Added option to strip control codes from log files.
  19. 12.Fixed /echo -a gpfing when there's no active window.
  20. 13.Added $target identifier.
  21. 14.The active item for popups has been removed, only exists
  22.    for the menu bar popup now.
  23. 15.Highlighted nickname in channel nick listbox remains highlighted
  24.    after a nick change.
  25. 16.Fixed insert/delete keys in URL list window.
  26. 17.Fixed $line() and $read line counting.
  27. 18.Added ignore button to DCC Chat/Get dialogs which allows you to
  28.    discard and ignore all incoming Chats/Gets from a user for 30
  29.    seconds.
  30. 19.Changed IRC Servers interface in setup dialog.
  31. 20.Added invisible mode option to setup dialog.
  32. 21.Changed dialogs to use standard dialog font.
  33. 22.Added Midi directory setting in sounds dialog.
  34. 23.Added $group(number/name) identifier.
  35.    $group(N)          group name
  36.    $group(N).status   on/off
  37.    $group(name)       same as .status
  38. 24.Added ON UNOTIFY event, works the same as ON NOTIFY
  39.    except triggers when a user leaves IRC.
  40. 25.Can now specify the -n switch with $readini to prevent a line
  41.    from being evaluated.
  42. 26.[removed]
  43. 27.Delayed Op and Unban now check to see if 1) you're on the channel,
  44.    2) you're an Op, 3) the user exists, before acting.
  45. 28.You can now specify different files for each popup menu.
  46. 29.Can now save alias/popup/remote files as plain text (non-INI
  47.    format) by not specifying an .ini file extension.
  48.  
  49.    NOTE: You can't save multiple sections to a plain text file!
  50.    So if you have all remote sections in remote.ini and want to
  51.    save them as plain text, you'll need to save each section to
  52.    a separate file. Same goes for aliases/popups.
  53.  
  54. 30.Fixed channel folder join/names bug.
  55. 31.Fixed email address stripping of control chars.
  56. 32.The delayed unban now prevents duplicate addresses being
  57.    added to the unban list.
  58. 33.Fixed gpf bug when popup item starts with {.
  59. 34.[removed]
  60. 35.Notify/Unotify now trigger correctly.
  61. 36.Query window now displays address of user in titlebar.
  62. 37.Added $mididir identifier.
  63. 38.Fixed gpf bug when extraneous $+ are used in combination
  64.    with bracketed identifiers.
  65. 39.Added custom window creation/manipulation tools.
  66.  
  67.    /window [-abcdelnorsx] @name [x y [w h]] [/command] [popup.txt] [font [size]]
  68.  
  69.    Switches:
  70.      a = activate window
  71.      b = update horizontal scrollbar width for listbox
  72.      c = close window
  73.      d = open as desktop window
  74.      e = editbox
  75.      l = listbox
  76.      n = minimize window
  77.      o = if opened on desktop, place ontop
  78.      r = restore window
  79.      s = use a sorted list
  80.      x = maximize window
  81.  
  82.    @name     = window name (must prefix with a @)
  83.    x,y,w,h   = left top width height
  84.    popup.txt = popup filename, loaded when needed
  85.                (must be a plain non-ini text file)
  86.    /command  = default command
  87.    font/size = font name and size (defaults to status window font)
  88.  
  89.    You can also use /window to manipulate some of the above
  90.    settings for an existing custom window.
  91.  
  92.    You can use the following commands to manipulate lines:
  93.  
  94.    /aline [-cN] @name text     add line to list
  95.    /dline       @name N        delete Nth line
  96.    /iline [-cN] @name N text   insert line at Nth line
  97.    /rline [-cN] @name N text   replace Nth line
  98.    /sline       @name N        selects Nth line
  99.  
  100.    Where -cN allows you to specify the line colour.
  101.  
  102.    You can use the $window(N/@name) identifer to access the
  103.    following custom window information:
  104.  
  105.    $window(N).x      left
  106.    $window(N).y      top
  107.    $window(N).w      width
  108.    $window(N).h      height
  109.    $window(N).state  minimized/maximized/normal
  110.  
  111.    To access the lines in a custom window you can use:
  112.  
  113.    $line(@name,N)    returns Nth line
  114.    $sline(@name,N)   returns Nth selected line (listbox only)
  115.  
  116. 40.Can now /load popups with these switches:
  117.    -ps status popup
  118.    -pc channel popup
  119.    -pq query/chat popup
  120.    -pn nicklist popup
  121.    -pm menubar popup
  122. 41.Fixed indexing bug with alias/popup/remote processing.
  123. 42.[removed]
  124. 43.mIRC now stores relative (instead of full) file/directory
  125.    paths, if a path lies inside the mIRC directory.
  126. 44.Made (most) buttons the same size.
  127. 45.Parameter identifiers changed to:
  128.  
  129.    $n     for parameter n
  130.    $n-n2  for parameters n to n2
  131.    $n-    for parameters n onwards
  132.  
  133.    $parm has also been discontinued, you can use the above
  134.    to refer to remote parameters from now on.
  135.  
  136.    Note: This version of mIRC still supports the old $1 and
  137.    $parm for now but only the above is documented.
  138.  
  139. 46.Added (v1 isvo v2) comparison to check if user v1 has a
  140.    voice on channel v2.
  141. 47.Fixed $numeric not being set when matching any raw event.
  142. 48.Added /loadbuf and /savebuf commands.
  143.  
  144.     /loadbuf [lines] <window> <filename>
  145.     /savebuf [lines] <window> <filename>
  146.  
  147.    Where [lines] indicates the number of lines you want to
  148.    load/save from the end of the file.
  149. 49.Can now prevent message display for /ignore, /auto, and
  150.    /protect with the . prefix.
  151. 50.Alias/popup/remote dialogs can now be resized and will
  152.    remember their size/position.
  153. 51.The alias, popup, and remote dialogs have been redesigned
  154.    to cope with various improvements (see below).
  155. 52.You can now load multiple alias files.
  156. 53.To /load, /unload, /save files you can use:
  157.      /load <-a|-pscqnm|-ruvs> filename
  158.      /unload <-a|-rs> filename
  159.      /save <-pscqnm|-ruv> filename
  160. 54.The remote dialog and script routines have been improved.
  161.    The format of definitions has changed to:
  162.  
  163.    ctcp 1:PING:/echo etc.
  164.    on   1:JOIN:#:/echo etc.
  165.    raw  1:*:/echo etc.
  166.  
  167.    This allows all of these to be intermixed in a single
  168.    script file. The remote dialog has been altered to cater
  169.    for only 3 types of files: Users, Variables, and Scripts.
  170.  
  171.    You can load as many script files as you require. Events
  172.    will trigger all script files as independent scripts.
  173.  
  174.    You can also define aliases in a script by using the
  175.    "alias" prefix:
  176.  
  177.      alias test /echo this is a test alias!
  178.  
  179.    You can also enter initialization commands which are run
  180.    when a script is *first* loaded by using:
  181.  
  182.    on 1:LOAD:{ etc. }
  183.  
  184.    And initialization commands which are run whenever mIRC
  185.    is first run (and loads scripts automatically) by using:
  186.  
  187.    on 1:START:{ etc. }
  188.  
  189.    The START section also runs after the LOAD section when
  190.    a script is first loaded.
  191.  
  192.    If a script is loaded from within the remote dialog, auto-
  193.    run commands are not executed until the dialog is closed.
  194.  
  195.    The above allows a whole script of ctcps, events, and raw
  196.    and it's related aliases and initializations to be edited
  197.    and distributed in one file.
  198.  
  199.    Note: mIRC automatically splits your current remote.ini
  200.    into separate files and translates the ctcp, event, and raw
  201.    entries into the new format. To convert old files into the
  202.    new format use the Convert option in the Remote dialog and
  203.    load them in as an .ini file because mIRC will need the
  204.    header info eg. [commands] [events] [raw] to know how to
  205.    translate them.
  206.  
  207. 55.Added on INPUT event which is triggered when a user enters
  208.    text into an editbox and presses enter:
  209.  
  210.    on 1:INPUT:/echo you entered $1-
  211.  
  212.    You can use /halt to prevent mIRC from processing the text.
  213.  
  214. 56.$chan is now $null if an event is not a channel event.
  215. 57.Can now add/change/remove aliases from a specific alias
  216.    file (not script files) with:
  217.  
  218.      /alias [filename] <aliasname> [commands]
  219.  
  220.    When adding/replacing/removing an alias, all alias files
  221.    are purged of the specified alias.
  222.  
  223. 58.If a file doesn't exist mIRC doesn't create it if there's
  224.    no information to save to it.
  225. 59.Now allows empty lines in aliases and scripts.
  226. 60.#group names in scripts now use "on" and "off" instead of
  227.    "start" and "disabled" (conversion program will translate
  228.    these automatically).
  229. 61.Added script #group indexing to speed up group processing.
  230. 62.Added on USERMODE event.
  231.  
  232.    on 1:USERMODE:/echo Set usermode to $1-
  233.  
  234. 63.Can now /echo =nick etc.
  235. 64.Added on CONNECT event which triggers when the end of an
  236.    MOTD is reached after connecting to a server (same as the
  237.    perform section).
  238.  
  239.    on 1:CONNECT:/echo connected!
  240.  
  241. 65.[removed]
  242. 66.Fixed "maximum sends" check not working in fileserver.
  243. 67.Added $inmidi returns true if midi is playing, false if not.
  244. 68.Added on MIDIEND event which triggers when a midi finishes
  245.    playing (but not if you stop it by playing another midi or
  246.    using /splay stop).
  247.    
  248.    on 1:MIDIEND:/echo finished playing midi file!
  249.  
  250. 69.Fixed /halt not returning $null.
  251. 70.Fixed odd popup menus gpf bug.
  252. 71.Added Find option to URL menu in URL list window.
  253. 72.Fixed processing of incoming server NOTICES which don't
  254.    have the source and target specified.
  255. 73.Can now use & character as a wildcard one word match, eg.
  256.  
  257.      &     lines would &
  258.      These lines would match
  259.  
  260. 74.Now displays notices and messages to @#channel correctly (?)
  261. 75.Fixed window focus bug bringing main mIRC window to front when
  262.    selecting a window.
  263. 76.Server pong echos should display correctly.
  264. 77.Speeded up URL-from-text extracting routine.
  265. 78.Can now use a nickname as well a number in $send() $get()
  266.    $chat() and $fserv() eg. $send(madgoat).file
  267. 79.Fixed offline timers bug.
  268. 80.If a remote event calls an alias, that remote events script file
  269.    is searched first for a matching alias and if no match is found,
  270.    all other alias and script files are searched.
  271. 81.on DNS $nick is set to $null if no nick is specified.
  272. 82.Fixed midi playing bug where mIRC thought that a midi file was
  273.    still playing when it had actually finished.
  274. 83.Fixed /play stop bug (?)
  275. 84.[removed]
  276. 85.Removed switches: own messages are higlighted, actions are purple,
  277.    and windows colours.
  278. 86.Added colour configuration dialog. You will notice that colours
  279.    for certain types of information have changed slightly, mainly
  280.    because standardization was required in various places. You can't
  281.    create a custom colour yet, might be added to a future version.
  282. 87.Added send/get fail remote events:
  283.  
  284.    on 1:SENDFAIL:*.txt:/echo failed to send $filename to $nick
  285.    on 1:GETFAIL:*.txt:/echo failed to get $filename from $nick
  286.  
  287. 88.Added $script and $scriptdir which return the file and dir name
  288.    of the currently executing remote script file.
  289. 89.Improved $gettok(), can now specify n1-n2 for the number of
  290.    tokens you want returned, eg:
  291.  
  292.    //echo $gettok(a.b.c.d.e,2,46)     returns 2nd token
  293.    //echo $gettok(a.b.c.d.e,2-,46)    returns tokens 2 onwards
  294.    //echo $gettok(a.b.c.d.e,2-4,46)   returns tokens 2 to 4
  295.  
  296. 90.Added $comchan(Nick,N) identifier, returns channels which both
  297.    you and Nick are on. $comchan(Nick,N).op returns $true if you're
  298.    an Op on that channel.
  299. 91.In alias, popup, and remote dialogs can now use Alt+1,2,3,4 etc.
  300.    to switch to a script.
  301. 92.Added support for "!nick filename" wave/midi get requests. If
  302.    mIRC recieves a request as a private message and you don't have
  303.    a private window open with that person, a new window is not
  304.    opened, but instead the request is displayed in the status window.
  305.  
  306.    Also has an option to send your own "!nick filename" requests
  307.    as private messages (on by default). This is only done when you
  308.    are on a channel and you specify a "nick" that is on that channel,
  309.    and a .wav or .mid filename.
  310.  
  311. 93.Notifies are now queued and only one line of 500 chars is sent
  312.    at a time. When a reply for that line is received, the next line
  313.    is sent. Once replies for all queued lines have been received,
  314.    the notify results are displayed.
  315. 94.The parameter positions of the following identifiers have been
  316.    standardized to fall in line with other identifiers:
  317.  
  318.    $left(text,N)
  319.    $mid(text,S,N)
  320.    $right(text,N)
  321.    $str(text,N)
  322.    $nick(#,N)
  323.    $nopnick(#,N)
  324.    $nvnick(#,N)
  325.    $opnick(#,N)
  326.    $snick(#,N)
  327.    $vnick(#,N)
  328.  
  329.    The old formats are still handled but only the new formats will
  330.    be documented.
  331. 95.Fixed small /list command bug.
  332. 96.mIRC help file now remembers it's last position/size.
  333. 97.Can now use the @ must be op prefix with CTCP remote events that
  334.    occurr on channels.
  335. 98.Notify list now allows you to use an address as well as a nickname,
  336.    this will only work on IRC servers that allow this.
  337. 99.Removed the /commands command, replaced with /ctcps command.
  338. 100.Fixed switchbar DCC Button Progress indicator being updated too
  339.     often which might have slowed mIRC down with multiple dccs.
  340. 101.Added Wizard which now pops up when a user has problems connecting,
  341.     eg. unable to get/resolve local host, unable to resolve/connect to
  342.     irc server, or being disconnected from a server before the MOTD is
  343.     displayed.
  344. 102.Fixed small /play bug, was evaluating identifiers in lines when
  345.     it shouldn't have been.
  346. 103.Fixed /titlebar memory bug.
  347.  
  348. 09/01/97 - mIRC v4.72
  349.  
  350. Fixes/Additions:
  351. 1.Fixed Windows Colors option.
  352. 2.Fixed gpf on joining channel with control codes in topic (?)
  353. 3.Fixed/improved channel mode handling.
  354. 4.Can specify a channel key in default channel listbox
  355.   as first word of a topic for a channel.
  356. 5.Fixed $+ at end of a line gpfing.
  357. 6.Fixed /run and long filenames with spaces.
  358. 7.Highlighting text in editbox and then Control-K now places
  359.   cursor right after first control character.
  360. 8.Fixed gpf in Channel dialog when listing invalid ban info.
  361. 9.Fixed display of fonts for certain character sets.
  362. 10.URL catcher now doesn't copy any BURC control characters
  363.    attached to a URL.
  364. 11.Fixed checking for recursive custom identifier calls.
  365.    (lack of check was leading to gpfs)
  366. 12.$null is now handled better when used with $+.
  367. 13.Install program now warns if you are about to install to
  368.    a directory path with spaces in its name and recommends
  369.    installing to a path without spaces.
  370. 14.Fixed /server N command.
  371. 15.Added $online identifier which returns number of seconds
  372.    elapsed on your online timer (ie. the one in the timer
  373.    dialog).
  374. 16.Now allows you to call custom identifers with parameters
  375.    that have a $null value.
  376. 17.Added -k switch to /ignore command, allows you to ignore
  377.    BURC codes from someone's text. This works for private,
  378.    notice, kick, part, etc. messages.
  379. 18.Fixed marking text that is bold/underlined.
  380. 19.Fixed bug with a script not halting properly and continuing
  381.    to process script following it (?)
  382. 20.The command parser wasn't stripping out leading and following
  383.    spaces for tokens in a command which may have resulted in
  384.    odd behaviour when processing scripts.
  385. 21.Control-Shift-Tab for switching between channel windows
  386.    has been removed since it was conflicting with the normal
  387.    windows default for tabbing backwards through windows.
  388. 22.Fixed /ruser nick! command, was removing all entries that
  389.    being with "nick" as opposed to "nick!".
  390. 23.Added "Edit" button to channels folder dialog.
  391. 24.Fixed $maddress being chopped in ON BAN event.
  392. 25.Fixed pressing enter in DCC Send dialog to change directories.
  393. 26.Fixed finger command (wasn't sending @ prefix when fingering
  394.    an address without a userid).
  395. 27.Added $vnick() identifier to list voiced nicks, and $nvnick()
  396.    identifier to list non-op/non-voice nicks.
  397. 28.Added ON UNBAN, works the same as ON BAN.
  398. 29.Added ON VOICE/DEVOICE, and $vnick refers to nickname.
  399. 30.Fixed bug in installer.
  400. 31.Invites to non-channels are now ignored.
  401. 32.Fixed text being indented in User and Variable remote sections.
  402. 33.Fileserver now let's you cd into a directory with an extension.
  403. 34.Changed $findfile() identifier, now allows you to specify
  404.    Nth file eg. $findfile(dir,filespec,N).
  405. 35.Fixed DCC percent progress wrapping to zero when sending
  406.    large files (?)
  407. 36.If a DCC Get directory doesn't exist, the default get directory
  408.    is used instead, if that doesn't exist, the mIRC directory is
  409.    used.
  410. 37.Fixed /ignore for actions.
  411. 38.A query window no longer opens for a sound request, the sound
  412.    message is displayed in the status window instead.
  413. 39.Added skip MOTD warning.
  414. 40.Fixed Menu Bar popup menu not working when all windows
  415.    are closed.
  416. 41.Improved Tabs in tabbed dialogs to look more 95ish.
  417. 42.Standardized Alias, Popup, and Remote dialogs.
  418. 43.Resources for popup menus are now allocated just before a
  419.    popup menu is displayed and are freed immediately after it
  420.    is closed thus conserving resources.
  421. 44.Added $dlevel identifier for remote default user level.
  422. 45.Added $timer(N) identifier.
  423.    $timer(N)       timer id
  424.    $timer(N).com   command
  425.    $timer(N).time  time
  426.    $timer(N).reps  repetitions
  427.    $timer(N).delay delay interval
  428.    $timer(N).type  online/offline
  429. 46.Added option to show DCCs in Switchbar.
  430. 47.Now allows - character in Identd UserID.
  431. 48.Fixed invalid RAW definition format gpfing.
  432. 49.Fixed Beeping when right-clicking in a listbox.
  433. 50.Windows minimized to the switchbar don't appear as icons
  434.    first anymore.
  435. 51.Wrote my own window list handler, so the Windows list
  436.    now displays desktop windows as well. Also only the first
  437.    50 characters of a windows title are displayed.
  438. 52.ON BAN/UNBAN now don't allow wildcard matches of ip/non-ip
  439.    addresses, as well as addresses ending in @*.
  440. 53.Setting focus on windows has been improved.
  441. 54.Can now use Control-Space to cycle through channel windows.
  442. 55.Fixed $mask() when an address with wildcards is specified.
  443.  
  444. 09/12/96 - mIRC v4.7
  445.  
  446. Fixes/Additions:
  447. 1.Fixed time bug (?)
  448. 2.ISON now displays a message if user doesn't exist.
  449. 3.Fixed small DDE problem.
  450. 4.Fixed mIRC defaulting to port 6667 when reconnecting
  451.   to a server.
  452. 5.DCC Send/Get window titlebar now immediately displays 0% at
  453.   start of transfer, and only displays 100% when transfer is
  454.   completely finished (was rounding up to 100% before).
  455. 6.Fixed small bug in fserve dcc send.
  456. 7.Fixed /beep command.
  457. 8.Bytes/Size display in alias/popup/remote windows are now
  458.   updated only a few times a second to decrease flicker.
  459. 9.Finished reorganizing identifiers-related code.
  460. 10.Fixed $away updating after you disconnect and reconnect.
  461. 11.Fixed Text Assist bug (?)
  462. 12.Can now do /sound [on|off] to enable/disable sound requests.
  463. 13.Added $server(N).property identifier to access servers list.
  464.    $server(N)        address.
  465.    $server(N).desc   description
  466.    $server(N).port   port
  467.    $server(N).group  group
  468. 14.Added $ial(mask,N) identifier to acces IAL.
  469.    $ial(mask,N)      full address.
  470.    $ial(mask,N).nick nickname
  471.    $ial(mask,N).user user id
  472.    $ial(mask,N).host host
  473.    $ial(mask,N).addr user@host
  474.    This returns the Nth address matching "mask" in the IAL.
  475.    Specify zero for total number of matching addresses. To
  476.    scan the whole of the IAL you can use $ial(*,N). If N is
  477.    zero, the total number of matching entries is returned.
  478. 15.[removed]
  479. 16.Added /identd [on|off] [userid] command.
  480. 17.Fixed bug in /ignore address matching.
  481. 18.Can now use [type] parameter with /auto to look up
  482.    users address (like ignore).
  483. 19.Channels, Notify, and Url list listboxes now have a horizontal
  484.    scroll bar added to them.
  485. 20.Added $url(N).property identifier to access urls list.
  486.    $url(N)        address
  487.    $url(N).desc   description
  488.    $url(N).group  group
  489. 21.When using /sound and /wavplay, the Waves directory and ALL of
  490.    its subdirectories are searched for the specifed wave filename.
  491.    This allows users to organize their sounds into subdirectories
  492.    without having to worry about directory paths.
  493. 22.Added 1:ON DNS:/echo $nick $iaddress $naddress $raddress event.
  494.    If /dns <nick> was used then $nick refers to <nick> otherwise
  495.    it refers to your own nickname. $iaddress refers to the ip
  496.    address, and $naddress refers to the named address. $raddress
  497.    is the resolved address. If $raddress is $null then that means
  498.    that the address could not be resolved.
  499. 23.Fixed @ (must be channel Op) prefix for remote definitions
  500.    preventing a definition from being performed if the event is
  501.    not a channel event. eg. @1:ON TEXT:*:*:/etc. which reacts
  502.    to private messages as well as channel messages.
  503. 24.Added $idle identifier which returns same idle time as that
  504.    returned by ctcp USERINFO or FINGER.
  505. 25.Added $numeric identifier which refers to the number of the
  506.    raw event that matched a remote definition.
  507. 26.[removed]
  508. 27.Ctcp ping reply now displays ping time in hr/min/sec format.
  509. 28.Fixed memory bug in Tab display routine, also improved display
  510.    of tabs slightly.
  511. 29.Added 1:ON ERROR:*text*:/echo $parms event.
  512. 30.Added Extension<->directory association in DCC Options dialog.
  513. 31.Fixed empty line in editboxes in options dialog causing
  514.    following lines to be lost.
  515. 32.DCC Get dialog now displays listbox of directories from the
  516.    extension associations for quick directory selection for
  517.    miscellaneous file types.
  518. 33.Servers.ini file is reloaded each time the Setup window is
  519.    opened to make sure that any changes made to it externally
  520.    are available. eg. if someone downloads a servers.ini file.
  521. 34.Now allows you to configure a separate Popup menu for use
  522.    in a channel window. If no channel popup menu is defined it
  523.    defaults to using the status window popup menu in a channel.
  524. 35.When marking text for copying, the marked block is not cleared
  525.    if new text is printed in the window, instead the scrollbar
  526.    is updated to indicate there is new text below. If you were
  527.    at the bottom of the buffer when you started copying, mIRC
  528.    will automatically scroll down to the bottom of the buffer
  529.    after you finish copying.
  530. 36.I added an /echo -a switch which echos to the active window.
  531.    If the active window is not a status, channel, or query/chat
  532.    window, it defaults to the status window.
  533. 37.For remote events that have no associated $chan value, $chan
  534.    refers to a channel that both you and the user that triggered
  535.    the event are on, on which you are an Op.
  536. 38.Fixed small bug with /set.
  537. 39.Can now do /log [on|off] [windowname].
  538. 40.If a user hasn't entered a UserID for the Identd server or if
  539.    their current userid contains invalid characters, mIRC asks
  540.    them for a new userid. Permitted characters:
  541.  
  542.       .    (0x2E)
  543.       0-9  (0x30-0x39)
  544.       A-Z  (0x41-0x5A)
  545.       _    (0x5F)
  546.       a-z  (0x61-0x7A)
  547.  
  548. 41.Added $wildsite remote identifier which returns the address of
  549.    the user who triggered the event in the form *!*@host.domain,
  550.    added mainly to speed things up since *!* $+ $site is used a lot.
  551. 42.Added /perform [on|off] command to turn on/off perform section.
  552. 43.Speeded up text display routine slightly.
  553. 44.Added $ticks identifier which returns the number of ticks
  554.    since your O/S was first started.
  555. 45.Ignoring CTCPs doesn't ignore actions anymore.
  556. 46.Added double-click alias option for Notify window.
  557. 47.Now using a new indexing method to speed up alias, popup, and
  558.    remote script processing.
  559. 48.Using an /if as the first command in a $read line now works.
  560. 49.In channel windows, Shift-TAB now switches the focus between
  561.    the editbox and the nicknames listbox.
  562. 50.Control-Shift-Tab now cycles through channel windows.
  563. 51.Server notices are now displayed in purple.
  564. 52.Added "Timestamp" switch to window system menus.
  565. 53.mIRC now ignores dcc sends/chats to port 19.
  566. 54.Fixed window focus problem when mdi/non-mdi windows open (?)
  567. 55.Can raise a number to the power of another using ^ operator.
  568.    eg. set %x 2 ^ 8
  569. 56."End of /who list" now displays who you were doing a /who on.
  570. 57.Now handles DALnets 310 numeric.
  571. 58.Added skip MOTD on connect switch.
  572. 59.Modified Event Beeps interface a bit.
  573. 60.Speeded up variable lookup routine and [] processing.
  574. 61.Rewrote text mark/copy routine.
  575. 62./timestamp [-a|e|s] [on|off] [window] is now used for turning
  576.    on/off timestamping in windows. If only on/off is specified
  577.    with no window, the global timestamp switched is turned on/off.
  578.    -s = for status window
  579.    -a = for active window
  580.    -e = for every window
  581. 63.For ctcp commands, $chan is now filled with a channel name if
  582.    you received the ctcp via a channel.
  583. 64./flood now ignores *!*@site.
  584. 65.$active identifier now returns window names more intelligently.
  585. 66./return can now return both numbers and text.
  586. 67.For servers that specify who placed a ban in the ban list, mIRC
  587.    now displays this info in the /channel dialog ban list.
  588. 68.$server now returns $null if you are not currently connected
  589.    to a server.
  590. 69.Added $fserv(N), improved $chat(N), $get(N), $send(N).
  591.  
  592.     $chat(N)           nickname
  593.     $chat(N).ip        ip address
  594.     $chat(N).status    active, waiting, inactive
  595.  
  596.     $fserv(N)          nickname
  597.     $fserv(N).ip       ip address
  598.     $fserv(N).status   active, waiting, inactive
  599.     $fserv(N).cd       current directory
  600.  
  601.     $get(N)            nickname
  602.     $get(N).ip         ip address
  603.     $get(N).status     active, waiting, inactive
  604.     $get(N).file       filename
  605.     $get(N).size       filesize
  606.     $get(N).rcvd       bytes rcvd
  607.     $get(N).cps        chars per second
  608.     $get(N).pc         percent complete
  609.  
  610.     $send(N)           nickname
  611.     $send(N).ip        ip address
  612.     $send(N).status    active, waiting, inactive
  613.     $send(N).file      filename
  614.     $send(N).size      filesize
  615.     $send(N).sent      bytes sent
  616.     $send(N).lra       last rcvd ack
  617.     $send(N).cps       chars per second
  618.     $send(N).pc        percent complete
  619.  
  620. 70.Can now create your own identifiers, eg. in the aliases section
  621.    create an alias:
  622.  
  623.      add { %x = $1 + $2 | return %x }
  624.  
  625.    And then use it in a command //echo Total is: $add(4,21)
  626.    Can define as many parameters as you want: $add(1,2,...,N).
  627.    Built-in identifiers of the same name have priority.
  628. 71.Added "default port" setting to setup/options dialog.
  629. 72.Can now use /timer [-o] etc. to start an offline timer. Offline
  630.    timers are not stopped if you are disconnected from the server,
  631.    however all other timers are. If you are not connected to a server
  632.    and you try to start a timer, it defaults to being an offline timer.
  633. 73.Chat and Query MDI switches are now separate.
  634. 74.Alias, Popup, and Remote editboxes now remember their cursor
  635.    line positions and jump to them automatically for each window.
  636. 75.Added "Desktop" switch to a window's system menu to toggle mdi/
  637.    desktop display of the window.
  638. 76.Can now specify a window name with /clear [window].
  639. 77.If an address that is in the auto-unban list of the /ban command
  640.    is unbanned manually, it is removed from the unban list.
  641. 78.PONGs from users are now ignored.
  642. 79.Using new method to lookup Local Host and IP Address. mIRC now
  643.    connects directly to server and issues a /userhost nickname to
  644.    lookup users address and then does a /dns to resolve the IP
  645.    address. This means that a user isn't prevented from connecting
  646.    to a server if there are any local host lookup problems and it
  647.    also means mIRC will be using a named address that has been
  648.    verified by the IRC server so there should be no problem looking
  649.    up the IP address. The DCC Send/Chat toolbar buttons are enabled
  650.    the moment the lookup is completed successfully.
  651. 80.Now uses /userhost instead of /whois to look up addresses from
  652.    the server.
  653. 81.The /run command now uses a different method to run files, it
  654.    allows you to run files based on association as well.
  655.      eg: /run notepad.exe readme.txt   or   /run readme.txt
  656.    It also uses this new method to view .txt files in the help
  657.    menu as well as in other parts of mIRC.
  658. 82.Can now do /who <channel> <address> and only users on the
  659.    specified channel are displayed.
  660. 83.Fixed bug with variable not being evaluated if preceeded by
  661.    the text "set" in a line.
  662. 84.Now also using new faster indexing method for IAL.
  663. 85.Fixed empty [ ] brackets gpfing.
  664. 86.Servers are no longer stored in memory but are looked up
  665.    when needed from the servers.ini file.
  666. 87.DCC Send/Get completion info printed in status window now
  667.    also includes time taken and cps.
  668. 88.Fixed "error sending data" message at end of dcc send.
  669. 89.Variables can handle spaces a bit better now eg. single
  670.    spaces, preceeding spaces, etc.
  671. 90.Fixed "fake" PONG messages being displayed.
  672. 91.Added support for bold/underline/reverse characters. Can
  673.    use Ctrl-B,U,R to insert these characters into an editbox.
  674.    If you first mark text in the editbox, it will be enclosed
  675.    in starting and ending control characters, otherwise one code
  676.    will be inserted. If you hold down the shift-key, two codes
  677.    are inserted and the cursor positioned between them. You can
  678.    also use Control-O to insert a reset character which turns off
  679.    all the above settings.
  680. 92.Added support for colour characters, use Control-K to insert
  681.    a colour control char (0x03) into text in an editbox.
  682.  
  683.    eg. if * is the control char then:
  684.  
  685.     *     Selects Default Text and Background
  686.     *1    Selects Color 1 for Text, Default Background
  687.     *1,5  Selects Color 1 for Text, Color 5 for Background
  688.  
  689.    Colours currently range from 0 to 15.
  690. 93.Added flood protect options tab to options dialog.
  691. 94.For an ON QUIT event, a users name is now removed from
  692.    all channel listboxes *after* this remote event has been
  693.    processed, not before it.
  694. 95.Added $strip(text) identifier which strips out all bold,
  695.    underline, reverse, and colour control codes from text.
  696. 96.File dialog defaults to showing ini, txt, or wav files
  697.    depending on file being selected.
  698. 97.Fixed multiple IRCop-greeting bug thingy.
  699. 98.Fixed notify update bug.
  700. 99.Fixed ON TEXT $chan being filled with users nickname when
  701.    trigger is a private message.
  702. 100.Added a switchbar to allow easy switching between windows.
  703.     If you click on a button with the left mouse button and
  704.     the window is minimized, it is restored, if it is already
  705.     restored, it is minimized. If you click with the right mouse
  706.     button, the windows system menu pops up. You can turn the
  707.     switchbar on/off in Options/Extras dialog.
  708. 101./ban won't allow you to initiate a ban if you don't have Ops.
  709. 102./amsg and /ame now don't send an individual message for each
  710.     channel etc.
  711. 103.Page up/down now works in channel listbox.
  712. 104.Channels dialog, "Limited to" option allows more digits.
  713. 105.ctcp ECHO is no longer replied to.
  714. 106.ctcp PING no longer replies to non-numeric values and numeric
  715.     values longer than 25 characters.
  716. 107.Added $usermode identifier.
  717. 108.Channel topics are now stripped of control characters.
  718. 109.ON MODE event has changed format to:
  719.  
  720.     1:ON MODE:#channel:/commands...
  721.  
  722.     And it no longer enforces modes. $parms is now filled with
  723.     the mode change that was made.
  724. 110.Under a 256 color display the orange color appears light brown
  725.     instead of orange, all other colors should look exactly the
  726.     same under different color displays.
  727. 111.Fixed ON BAN double-wildcard-string-matching. Was giving false
  728.     matches in certain situations eg. * at end of a string.
  729. 112.Changed ordering of masks to:
  730.  
  731.     Type 0: *!user@host.domain
  732.     Type 1: *!*user@host.domain
  733.     Type 2: *!*@host.domain
  734.     Type 3: *!*user@*.domain
  735.     Type 4: *!*@*.domain
  736.     Type 5: Nick!user@host.domain
  737.     Type 6: Nick!*user@host.domain
  738.     Type 7: Nick!*@host.domain
  739.     Type 8: Nick!*user@*.domain
  740.     Type 9: Nick!*@*.domain
  741.  
  742.     The mask types for all routines and identifiers are now identical.
  743.     /guser /dns etc. commands all default to type 6 which is the same
  744.     mask as before.
  745. 113.When mIRC is in the process of doing a channel listing and it
  746.     receives a "server load to high" numeric 263, it now resets the
  747.     channels list button and other related parameters.
  748. 114.Ignores DCCs to a channel.
  749. 115./userhost with no reply is now displayed.
  750. 116.Added "on top" option for switchbar.
  751. 117.Added $duration(seconds) identifier.
  752. 118.Added $nofile(filename) which removes the filename and
  753.     only returns any remaining path.
  754. 119.Added $findfile(dir,filename) which searches the specified
  755.     directory and its subdirectories for the specified file and
  756.     returns the full path and filename if it is found.
  757. 120.Added /ial [on|off] command.
  758. 121.Added token handling identifiers:
  759.  
  760.     $addtok(text,token,C)     - adds a token to the end of text but
  761.                                 only if it's not already in text.
  762.     $findtok(text,token,C)    - returns Nth position of token in text
  763.     $gettok(text,N,C)         - returns Nth token in text
  764.     $instok(text,token,N,C)   - inserts token into Nth position in text
  765.                                 even if it already exists in text.
  766.     $remtok(text,token,C)     - removes 1 matching token from text
  767.     $reptok(text,token,new,C) - replaces 1 matching token with new
  768.                                 token in text
  769.  
  770.     $gettok() replaces $token(), however $token() is still
  771.     supported for this version.
  772.  
  773. 122./ulist now searches the whole of the users level list for
  774.     a matching level.
  775. 123.A user level can now be a word, for example:
  776.  
  777.     2,5,op,9,prot:*!*@mardam.demon.co.uk
  778.  
  779.     op:ON JOIN:#:/mode $chan +o $nick
  780.  
  781.     Named levels are = levels ie. they work exactly the same
  782.     way that = levels work.
  783. 124.Added strip options to options dialog. These strip out
  784.     control characters from incoming notices and messages.
  785. 125.Fixed memory/socket reading bug.
  786. 126.Pressing Enter in the parameters dialog without entering
  787.     any text now returns $null.
  788. 127.Kick, Part, Quit messages have Control-O appended to them.
  789. 128.Improved channel MODE change handling, mIRC updates the
  790.     mode settings itself so there's no longer a delay.
  791. 129.ON MODE reacts to initial mode lookup when mIRC first
  792.     joins a channel.
  793. 130.Rewrote /auser & /guser routine. Code is cleaner, same
  794.     speed, works better eg. doesnt allow redundant levels,
  795.     and fixes bugs in the old routines.
  796. 131.Added wildcard halting of timers. eg. /timer?* off
  797. 132.Fixed messages to #host.mask.
  798. 133.Install program now only creates one backup directory and
  799.     overwrites any files in it if they already exist.
  800. 134.Channels folder now also allows you to enter descriptions
  801.     for channels.
  802. 135.Added $chan(N/#).property identifer:
  803.  
  804.     $chan(N/#)         channel name
  805.     $chan(N/#).topic   topic
  806.     $chan(N/#).mode    mode
  807.     $chan(N/#).key     +k key
  808.     $chan(N/#).limit   +l limit
  809.  
  810.     $mode() and $topic() are no longer supported. However
  811.     $channel() is still supported for this version.
  812. 136.Support for the :> redirection in remote definitions has
  813.     been removed.
  814. 137.Added /strip [+-burc] command.
  815. 138./wavplay command has been replaced with /splay command,
  816.     which can play both .wav and .mid sound files. Can also
  817.     use "/splay stop" to stop a .mid file playing. /wavplay
  818.     is still supported for now. 
  819. 139.The /sound command and related options (ON NOSOUND, etc.)
  820.     can now work with .mid files as well as .wav files.
  821. 140.Improved/simplified code in the install program.
  822.  
  823. 07/09/96 - mIRC v4.6
  824.  
  825. Fixes/Additions:
  826. 1.Now handles various combinations of : and { at the
  827.   beginning of a remote definition.
  828. 2.Fixed :> redirection.
  829. 3.Fixed separator handling in popup menus.
  830. 4.ON SNOTICE can now be prevented from displaying info.
  831. 5.Now does NOT evaluate identifiers in a command issued
  832.   from the command line. If you want to force identifers
  833.   to be evaluated, you can prefix the command with two
  834.   // instead of just one /.
  835. 6.Fixed $1 $2 etc. not working with Function keys.
  836. 7.Fixed $dir and $hfile identifiers.
  837. 8.Fixed ON KICK missing $parms.
  838. 9.Fixed variables section not being saved if commands
  839.   section is empty.
  840. 10.Fixed DCC Windows not being minimized properly.
  841. 11.Explicit support for the DO ctcp command has been
  842.    removed. If a user wants to use a DO in their ctcp
  843.    definitions, they would have to specifically make
  844.    mIRC perform any parameters that another user sends
  845.    as commands, eg.:
  846.  
  847.    1:DO:$parm2*
  848.  
  849. 12.Fixed the -s switch in /echo.
  850. 13.Fixed $readini with missing parameters gpfing.
  851. 14.$read and $readini now return $null if a line isn't found.
  852. 15.Extended the functionality of [ ] so that if they enclose
  853.    only a single parameter they will evaluate it even if it
  854.    has already been evaluated. eg.:
  855.  
  856.    set %x %y
  857.    set %y Hiya!
  858.    /echo [ [ %x ] ]
  859.  
  860. 16.DCC Send, Get, Chat, and Fserv now use different Icons.
  861. 17.The = switch in remote definitions 1:COMMAND:= wasn't
  862.    working properly.
  863. 18.Fixed =$nick for on serv/chat.
  864. 19.Now handles site bans or masks for addresses that only
  865.    have an x.x format instead of the usual x.x.x format.
  866. 20.Fixed Aliases "Save To" only saving to mIRC directory.
  867. 21.Fixed $asctime() gpf bug.
  868. 22.DDE USERS now prefixes nicknames with @ or + if necessary.
  869. 23.Now cannot use /writeini to remove items or sections, must
  870.    use the /remini command which takes the same parameters.
  871. 24.Added $exists(filename) to check if a file exists,
  872.    returns $true or $false.
  873. 25.Added -n switch to $read which prevents the line read in
  874.    from being evaluated or parsed ie. it's treated as text.
  875. 26.Added /wallops <message> command.
  876. 27.Now supports DALnet /part #channel [message]. The message
  877.    is limited to around 60 characters.
  878. 28.Fixed extra separator lines being added to certain popup
  879.    menus occasionally.
  880. 29.Now allows you to dcc chat yourself.
  881. 30.Now saves URLs to the urls.ini file.
  882. 31.Added $maddress which specifies the currently matched
  883.    user address for an event in the remote:
  884.  
  885.    1:TEST:/echo $fulladdress matched $maddress
  886.  
  887.    And added $maddress(address) which returns a matching
  888.    address from the remote user list:
  889. 32.If the filename specified in $read has no path, it defaults
  890.    to the mirc.exe directory (like all other commands).
  891. 33.Can now /load -r and /save -r (raw definitions).
  892. 34.Added Load/Save items to URLs pop menu which let you
  893.    load/save any URL file.
  894. 35.Join/part/other text messages are now wrapped.
  895. 36.Can now press return in a multi-line editbox in the
  896.    middle of a line without sending the text.
  897. 37.Added "Play wave" option to notify list which lets you
  898.    choose a wave to play when a specific user joins IRC.
  899. 38.Added "show notices in active window" option in IRC
  900.    switches, and also improved the way notices are
  901.    displayed.
  902. 39.Fixed memory bug in fileserver.
  903. 40.Improved memory allocation in copy/paste routine.
  904. 41.Displays /whowas reply with @ in address.
  905. 42.The aliases for .hlp files added to the Help menu now have
  906.    the lowest command precedence ie. if an existing alias or
  907.    command of the same name exists, the .hlp alias is never run.
  908. 43.Now also adds .txt files to the dynamic help menu.
  909. 44.The IAL is updated a bit more intelligently to allow
  910.    remote definitions to access nicknames that have just
  911.    joined/left a channel.
  912. 45.Fixed time-out gpf bug which affected Send/Get/FServ.
  913. 46.Now triggers ON PART when *you* part a channel.
  914. 47.Added $longip(IP address/long IP) which converts a dotted
  915.    IP Address to a long IP, and vice-versa.
  916. 48.Fixed message not being wrapped when a query window
  917.    first opens.
  918. 49.Fixed GPFs occurring when viewing URLs.
  919. 50.Fixed "me:" prefix for remote definitions.
  920. 51.Now supports a /list result with or without RPL_LISTSTART,
  921.    to accomodate ircd 2.9.x.
  922. 52.Can now specify a filename when saving a window buffer.
  923. 53.Added option "Only show notifies in notify window".
  924. 54.Fixed "Bad Username" server reply if new user entered an
  925.    invalid email address (the userid part was being used
  926.    in the ident server).
  927. 55./echo 1 $asc($mid(3,1,hi there)) was returning 0 for a space,
  928.    now returns 32.
  929. 56.Added "fast screen update" option to Extras dialog. This
  930.    speeds up text printing by updating the screen after each
  931.    "batch" of text instead of each line.
  932. 57.Moved "Ignore" to first position in Control dialog.
  933. 58.Added a new flood protection method. Just use
  934.    /flood [on|off] to turn it on and off.
  935. 59.ISON notify lines are broken into less than 500 character
  936.    lines now.
  937. 60.Added option "Show finger requests" to Options dialog
  938.    in Servers section.
  939. 61.Fixed /oper with wrong password GPFing (?)
  940. 62.Prefixing a command with . prevents it from displaying
  941.    its usual message (apart from error messages).
  942. 63.Fixed #$$?#="Enter a channel name:" type identifier.
  943. 64.Added ON WALLOPS event.
  944.  
  945.    1:ON WALLOPS:*text*:/command...
  946.  
  947. 65.Fixed $true/$false/$null not working in certain
  948.    comparisons.
  949. 66.Fixed info lines sometimes not being displayed in
  950.    DCC Send/Get windows.
  951. 67./halt can now prevent the usual text output of raw
  952.    numeric events (for most events).
  953. 68.Added $bnick identifier which refers to the nickname
  954.    of the user being banned. This is not always filled
  955.    since sometimes a nickname isn't specified with a
  956.    banmask.
  957. 69.Now displays all user modes in status window titlebar.
  958. 70.Improved display of info for unknown numerics.
  959. 71.Fixed status window not closing when it's opened as
  960.    Desktop window and mIRC is exited.
  961. 72.Added $ulevel and $clevel which store the remote user
  962.    and command levels that matched for an event.
  963. 73.The channels list is no longer stored internally but
  964.    completely stored in and accessed from the channels.txt
  965.    file.
  966. 74./remote [on|off] now affects the raw section as well.
  967. 75.Can now do /raw [on|off] to turn the raw section on
  968.    and off.
  969. 76.Fixed mode event -l or -k skipping parameters in a
  970.    mode change.
  971. 77.Notify window now displays note next to each nickname.
  972. 78.Tweaked INI routines.
  973. 79.When an error occurs in a DCC Send/Get/Chat, the dcc
  974.    window is now closed if "auto-close" is selected in
  975.    dcc options.
  976. 80.Added ON NOSOUND event triggered when someone sends you
  977.    a SOUND request and the sound doesn't exist.
  978.  
  979.    1:ON NOSOUND:/msg $nick I don't have $filename
  980.  
  981. 81.Changed toolbar buttons appearance.
  982. 82.Can now do /partall <message>
  983. 83.In ON NICK event when you change your nick, the $me
  984.    identifier is only updated after remote definitions have
  985.    been processed.
  986. 84.Now handles #,&,+ channels in aliases, popups, remote,
  987.    dialogs, etc. This might affect a few things since &
  988.    and + are now special prefix characters.
  989. 85.Now saves Servers in servers.ini file.
  990. 86.Tweaked DCC Send/Get routines and fixed problem with
  991.    DCC windows not displaying the correct information in
  992.    certain situations.
  993. 87.Standardized INI prefix to "n" for all saved information.
  994. 88.Results from a /who and /whois are now used to update
  995.    the Internal Address List if the user is on a channel
  996.    which you are on. eg. /who #channel.
  997. 89./speak now supports both Text Assist and Monologue.
  998. 90.Now displays #*.server.co.uk type messages properly.
  999. 91.Dropped files with spaces in the filename are now enclosed
  1000.    in "" quotes.
  1001. 92.Fixed $parmN1-N2 bug.
  1002. 93.Added "Font" item to Tools menu.
  1003. 94.Clicking on "Unban" to unban addresses while in the
  1004.    Channels dialog now also sets the topic and modes if
  1005.    you've changed them.
  1006. 95.Fixed bug with command prefix infront of if/else/elseif
  1007.    not working properly after { brackets.
  1008. 96.Fixed RAW definitions being processed from the bottom
  1009.    of list upwards.
  1010. 97.Supports /globops command for DALnet.
  1011. 98.Can now prevent Quit messages from printing in status
  1012.     window with /halt.
  1013. 99./userhost results now update IAL.
  1014. 100.Improved /whois lookup code for /guser,/ruser,/finger,
  1015.     /dns, etc. commands that look up a users address.
  1016. 101.Fixed sending multiple files with /dcc send command.
  1017. 102.Added identifiers $mode(#) and $topic(#) which return
  1018.     the mode/topic of channels which you're currently on.
  1019. 103.Added identifier $count(string1,string2) which returns
  1020.     the number of times string2 occurs in string1.
  1021. 104.Speeded up remote processing a bit.
  1022. 105.DCC Get problem for netcom users fixed.
  1023. 106./links now displays links list properly on ircd 2.9.1 which
  1024.     sends the list in reverse order (are we surprised? ;)
  1025. 107.Notify pause time between checks is now based on the total
  1026.     number of nicks in your notify list. The minimum pause time
  1027.     is 20 seconds, the maximum pause time is 50 seconds.
  1028. 108.An alias cannot call *itself* anymore (except indirectly by
  1029.     calling another alias which calls it).
  1030. 109.Improved editbox processing routine slightly: now processes
  1031.     text entered into it even if another window is active or
  1032.     on top of it.
  1033. 110.Added /close -icfgms [nick1] [nickN] which closes windows of
  1034.     the specified type and nicknames. If no nicknames are given,
  1035.     all windows of the specified type are closed.
  1036.     i = only close inactive windows (doesnt apply to message windows)
  1037.     c = chat
  1038.     f = fserve
  1039.     g = gets
  1040.     m = message windows
  1041.     s = sends
  1042. 111.Removed /closechats, /closefserves, /closedccs commands. These
  1043.     are replaced by the /close command.
  1044. 112.Removed /maxdepth command.
  1045. 113.Added $timestamp identifier returns time in [xx:xx] format.
  1046. 114.Now allows you to enter multiple Ports (separated by commas) for
  1047.     each server. A random port will be picked at each connect.
  1048. 115.Fixed dcc get time-out bug.
  1049. 116.Removed "Show transfer progress as percent" switch, now only
  1050.     displays progress as a percentage.
  1051. 117.Added "Display fileserver warning" switch to dcc options dialog.
  1052. 118.Can now hold down the Shift key when tiling to tile vertically.
  1053. 119.Fixed channel nickname list updating incorrectly with certain
  1054.     combinations of /mode results.
  1055. 120.Now supports the ircd 2.9.1 ^G in a JOIN.
  1056. 121.Now triggers the part event if you close a channel window
  1057.     manually by clicking on the close button.
  1058. 122.The TAB key nickname list now only stores the nicknames of people
  1059.     who sent you normal query/channel messages, not ctcps.
  1060. 123.Fixed /timer bug.
  1061. 124./unset can now use wildcards, so /unset %test* will unset all
  1062.     variables beginning with %test.
  1063. 125./alias now tells you which alias it's adding/removing.
  1064. 126.Fixed gpf bug when low number values are used with time
  1065.     related functions/identifiers.
  1066. 127.Calling an alias from another alias only passes the required
  1067.     parameters and not all parameters.
  1068. 128.Now also handles .chat files which contain tab characters.
  1069. 129.Negative value variables are now handled properly.
  1070. 130.Reorganized identifiers-related code a bit (still in progress).
  1071. 131.Fixed small bug in installation program.
  1072. 132.Added Event beeps on/off switch in event beeps dialog, also
  1073.     added an /ebeeps [on|off] command.
  1074. 133.Fixed MDI channel window listbox/scrollbar display bug.
  1075. 134.Fixed /unset %var1 ... %varN.
  1076. 135.Can now hold down Shift key when clicking "connect" toolbar
  1077.     button to force mIRC to connect to last server and port
  1078.     again, instead of picking a new server or port.
  1079. 136.Fixed /return bug.
  1080.  
  1081. 06/07/96 - mIRC v4.52
  1082.  
  1083. Fixes/Additions:
  1084. 1.Fixed UTC permanently.
  1085. 2.Fixed invalid ctcp replies causing a gpf.
  1086. 3.Fixed /play bug.
  1087. 4.Fixed scrollbars not being set properly in some windows
  1088.   when they first open.
  1089. 5.Changed method of adding Icons to program manager
  1090.   in Installation program.
  1091. 6.Fixed bug in Installation program when installing into
  1092.   directory names with spaces in them.
  1093. 7.Fixed the COMMAND DDE topic to work better with certain
  1094.   types of poked commands.
  1095. 8.Fixed bug with Popup menus when using { } brackets to
  1096.   enclose commands in different level menu items.
  1097. 9.Fixed channels folder bug not allowing you to join a
  1098.   channel unless it was first added to the list.
  1099. 10.In COMMANDS, $parm1 now refers to the actual COMMAND.
  1100. 11.Server notices are now only displayed in status window.
  1101. 12.Added $address(nickname,type) which scans the internal
  1102.    address list and returns a users address if it's found.
  1103. 13.Added $logdir, $getdir, $wavedir, $mircdir which return
  1104.    current directory paths for each location.
  1105. 14.Identifiers in remote/popup commands which call aliases
  1106.    are now evaluated before the alias is called.
  1107. 15.Fixed ON NOTIFY not being triggered by notify event.
  1108. 16.mIRC will no longer allow the DO ctcp command to execute
  1109.    at or below the default user level.
  1110. 17.Now allows /group, /enable, and /disable commands to be
  1111.    used with the RAW section.
  1112. 18.Changed description of Protect option which said it worked
  1113.    with addresses.. it can only work with nicknames.
  1114. 19.Added $lf = chr(10) linefeed and $cr = chr(13) return.
  1115. 20.Added $lof(filename) which returns the size in bytes of
  1116.    the specified file.
  1117. 21.Added $pos(string,substring) which returns the position
  1118.    of substring in string.
  1119. 22.Fixed bug in remote when parsing { } brackets, was miscounting
  1120.    and skipping definitions.
  1121. 23.Made remote routines less strict in the type of format
  1122.    they expect in definitions. eg. the :> redirection.
  1123. 24.The channels.txt file now does not store channels that
  1124.    were excluded in the "Hide" parameters section.
  1125. 25.Added $send(N) and $get(N) which return currently open
  1126.    send/get windows.
  1127. 26.Fixed $chat(N) so it only returns the nickname of the user.
  1128. 27.Now allows multiple channel names as variables, eg:
  1129.  
  1130.    1:ON JOIN:%chan1,#mIRC,%chan2:etc...
  1131.  
  1132.    Or you can do:
  1133.  
  1134.    1:ON JOIN:%channels:etc...
  1135.  
  1136.    Where %channels is a list of channels separated by commas.
  1137.    You can't *combine* these though.
  1138. 28.Added $mask(address,type) which returns the address
  1139.    with the specified mask.
  1140. 29.Identifiers are now passed correctly when calling an alias
  1141.    from another alias.
  1142. 30.Added command line parameter -ppassword for use with the
  1143.    -jchannel parameter. Specifies password to join channel.
  1144. 31.Now supports the PASSWORD parameter in .chat files for
  1145.    joining a channel with a password.
  1146. 32.Added ON CHATOPEN, CHATCLOSE, SERVOPEN, SERVCLOSE events.
  1147.  
  1148.    1:ON CHATOPEN:/commands...
  1149.  
  1150. 33.Added /flushini <filename> which flushes the ini file to
  1151.    disk if it is currently being cached.
  1152. 34.Added /closedccs, /closechats, and /closefserves, which
  1153.    close all inactive send/get, chat, and fserve windows.
  1154. 35.Added $nopath(filename) identifier which returns only
  1155.    the filename with no path.
  1156. 36.Fixed $$ not working when used in $$1 $$2 .. $$N.
  1157. 37.Added $replace(string,substring,replacement)
  1158.    and $remove(string,substring).
  1159. 38.Speeded up processing of identifiers and commands.
  1160. 39.Speeded up display of info in /links window.
  1161. 40.Fixed NT bug... it didn't like low-level assembly routines.
  1162. 41.Fixed +v/-v mode display in channel nicknames listbox.
  1163. 42.The default /list setting for minimum number of people
  1164.    on a channel has changed from zero to four.
  1165. 43.Using /halt to prevent certain EVENTs from being displayed
  1166.    has been removed. It worked, but the order of display of
  1167.    information became non-intuitive and confusing. Will find
  1168.    a better way to do this for the next version.
  1169. 44.Added $result identifier which stores the result of
  1170.    a /return <result>. The result can be a number between
  1171.    0 and 30,000.
  1172.  
  1173. 30/06/96 - mIRC v4.5
  1174.  
  1175. Fixes/Additions:
  1176. 1.Major improvement of code in many places. mIRC
  1177.   now processes many things faster.
  1178. 2.Fixed possible bug with invalid nicknames being
  1179.   added to nick list on a channel.
  1180. 3.Fixed a bug in DDE routines which caused a GPF if
  1181.   external applications were too slow at processing
  1182.   DDE messages.
  1183. 4.Rewrote remote routines, they now look much less
  1184.   like spaghetti and work better.
  1185. 5.Can now use [ and ] evaluation brackets to control
  1186.   the order of evaluation of identifiers. Identifiers
  1187.   within brackets will be evaluated first, from left
  1188.   to right. You can nest brackets. This allows you to
  1189.   evaluate things any way you like...
  1190.  
  1191.   /notice $nick " $+ [ $read [ -s + [ $parm1 ] ] c:\text\note.txt ] $+ "
  1192.   /say % [ $+ [ $1 ] ]
  1193.  
  1194.   Definitions without evaluation brackets are evaluated
  1195.   the same way as before, though I've also improved the
  1196.   normal evaluation method slightly.
  1197. 6.Fixed small $read bug.
  1198. 7.Can now use server addresses in User list in remote.
  1199. 8.Added MDI options dialog to the Window menu which
  1200.   allows you to specify for each individual window if
  1201.   you want it opened as an MDI or as an independent
  1202.   desktop window.
  1203. 9.Standardised command error reply to: * /command: <message>
  1204. 10.Can now use delete key to delete URLs in URL window
  1205.    and Insert key to add a new url.
  1206. 11.Can now use Control-Tab to step through the different
  1207.    tabs in the setup and options dialogs.
  1208. 12.Wrote a setup program which allows you to install mIRC
  1209.    in a directory of your choice, creates backups of your
  1210.    current files, validates the zipped files to make sure
  1211.    they're not corrupted, and adds icons to the program
  1212.    manager for you.
  1213. 13.Improved DCC Send file dialog, can now select more than
  1214.    nine files at a time to dcc send.
  1215. 14.Fixed scrollbar sometimes not being positioned properly
  1216.    in certain windows.
  1217. 15.Added /titlebar command which allows you to change the text
  1218.    in the titlebar on the fly.
  1219. 16.Added protect list to options dialog, now works
  1220.    exactly like auto-op command, can specify channels
  1221.    for each nick.
  1222. 17.DCC Send/Get/Chat are now fully dynamically allocated
  1223.    structures ie. there is no limit on the number of DCCs.
  1224.    This speeds up dcc send/get processing a lot. This also
  1225.    fixes a few small bugs related to the way the older
  1226.    structures were being used.
  1227. 18.Improved the DCC Send/Get transfer windows, they now
  1228.    give information such as time taken, estimated time
  1229.    for transfer, characters per second, etc., and a
  1230.    progress bar.
  1231. 19.Window sizes for Chat/Server/Send/Get windows are now
  1232.    saved seperately for each type of window.
  1233. 20.Added ON BAN remote event, works like ON OP.
  1234.  
  1235.    5:ON BAN:#tree:/mode $chan -b $banmask
  1236.  
  1237. 21.Added option to Links window popup menu which lets you
  1238.    switch between displaying links as plain text or
  1239.    in a listbox.
  1240. 22.Wildcard routine now allows ? character to match any
  1241.    single character, the * is used as normal to match
  1242.    multiple characters. This affects matching text in
  1243.    ON TEXT, etc. as well as user addresses. Also fixed a
  1244.    small bug that was causing mismatches in certain cases.
  1245. 23.Now allows multiple channels in a remote event
  1246.    definition:
  1247.  
  1248.    1:ON OP:#moo,#help,#test:/notice ...
  1249.  
  1250. 24.Now allows %variables to be used in the text and
  1251.    channel positions of an event definition:
  1252.  
  1253.    1:ON TEXT:%text:%channel:/notice etc ...
  1254.  
  1255.    You can also use %variables for ctcp command names:
  1256.  
  1257.    1:%variable:/notice etc...
  1258.  
  1259. 25.Added a RAW section to the remote which catches NUMERIC
  1260.    events. This has it's own separate editbox because if
  1261.    mIRC had to scan your whole remote events definitions
  1262.    for each numeric event, things would slow down to a
  1263.    crawl.
  1264.  
  1265.    322:*mirc*:/echo 2 $parms
  1266.  
  1267.    This would print all lines which have the word "mirc"
  1268.    in them when you do a channels /list (this is a pretty
  1269.    intensive test).
  1270.  
  1271. 26.Fixed bug with notify list not being updated correctly
  1272.    when a user changed nicknames.
  1273. 27.For remote events and ctcp commands you can now prevent
  1274.    the normal text associated with that command from being
  1275.    displayed by using the /halt command.
  1276.  
  1277.    1:ON JOIN:#mIRC:/echo 3 #mirc [Joins $nick] | /halt
  1278.  
  1279.    So from now on when anyone joins channel #mIRC, only
  1280.    that text is displayed in the channel.
  1281.  
  1282.    Be warned: you can use this to prevent query windows
  1283.    from opening, plus other things which mIRC usually
  1284.    does for an event (though nothing critical).
  1285. 28.Window structures are now fully dynamically allocated
  1286.    so there is no limit on the number of windows which can
  1287.    be opened. This also speeds up processing quite a bit.
  1288. 29.Now allows alias, popup, and remote definitions like:
  1289.    <prefix definition> {
  1290.      /command1 ...
  1291.      /command2 ...
  1292.      /command3 ...
  1293.    }
  1294.    One line definitions are handled the same as before.
  1295.    The characters { } now have special meaning so you
  1296.    can't use them as normal text anymore.
  1297. 30.Major improvement of memory usage in command parser.
  1298. 31.Added "View" URL option in channels list popup menu
  1299.    which extracts and views a URL immediately.
  1300. 32.Added a /goto command which can be used in { } definitions.
  1301.  
  1302.    /greet {
  1303.      /set %x 0
  1304.      :retry
  1305.      /inc %x
  1306.      /goto %x
  1307.      :2
  1308.      /echo bye!
  1309.      /halt
  1310.      :1
  1311.      /echo hi!
  1312.      /goto retry
  1313.    }
  1314.  
  1315.    You can also use a variable as a goto name, eg.
  1316.  
  1317.    :%jumppoint
  1318.  
  1319.    if you "/set %jumpoint 5" then you can do "/goto 5"
  1320.    and mIRC will evaluate %jumpoint to 5 and jump to it.
  1321.  
  1322. 33.You can now use the /return command to finish processing
  1323.    an alias command and to allow any default processing to
  1324.    continue. eg.
  1325.  
  1326.    1:ON JOIN:#mIRC {
  1327.      /echo 3 #mirc [Joins $nick]
  1328.      /return
  1329.      /echo 3 #mirc I'm not printed!
  1330.    }
  1331.    
  1332. 34.Added "Always On Top" setting to system menu of windows
  1333.    when they are opened as desktop windows.
  1334. 35.Text in status, queries, and channels windows is now
  1335.    rewrapped to fit the window whenever a window is resized
  1336.    or a font is changed.
  1337. 36.Added two new events:
  1338.  
  1339.    1:ON FILESENT:*.txt,*.ini:/echo Sent $filename to $nick ( $+ $address $+ )
  1340.    1:ON FILERCVD:*.txt,*.ini:/echo Received $filename from $nick | /run notepad.exe $filename
  1341.  
  1342.    These only react to successful DCC transers.
  1343. 37.Added /writeini command and $readini identifier which use
  1344.    the built-in ini routines to write/read standard ini files.
  1345.  
  1346.    /writeini <inifile> <section> <item> <value>
  1347.    $readini <inifile> <section> <item>
  1348.  
  1349.    These will allow better control of storage of different
  1350.    types of information into different sections in a file.
  1351. 38.Now allows aliases to call other aliases, or even to call
  1352.    themselves recursively. As a safeguard against infinite
  1353.    loops, the default maximum recurse depth is set at 10. This
  1354.    can be changed with the /maxdepth command. The minimum
  1355.    depth allowed is 1 (aliases can't call other aliases) and
  1356.    the maximum is 100. Calling aliases from within aliases
  1357.    uses quite a bit of memory, so this might cause problems
  1358.    in certain situations where memory is low etc.
  1359. 39.The /links window now has the save buffer option in the
  1360.    system menu.
  1361. 40.Now supports Drag-and-drop files onto channel, channel nick
  1362.    listbox, query/chat, and notify windows. Can define aliases
  1363.    for each type of dropped file, as well as different aliases
  1364.    if the Shift key is pressed when the file is dropped. See
  1365.    Drag-drop tab in options dialog.
  1366. 41.The /set /unset /inc /dec commands now default to not
  1367.    displaying information unless called directly from the
  1368.    command line. To force them to display info, you can use
  1369.    the [-s] switch eg. /set -s %x 1
  1370. 42.Improved the copy routine slightly... if lines being copied
  1371.    originally belonged to the same line, then they are combined
  1372.    instead of separated. If you want to force mIRC to copy text
  1373.    exactly as it appears in the window then hold down the SHIFT
  1374.    key when you do the mark/copy.
  1375. 43.In remote, instead of using the * prefix for commands to
  1376.    be performed only when you're an Op, you can now use the @
  1377.    sign. Both are handled, but I will only specify the @ in
  1378.    the documentation since it makes more sense.
  1379. 44.Increased maximum items for popup menus from 300 to 600.
  1380. 45.Now ignores any mirc.ini in the windows directory and uses
  1381.    the mirc.ini in the current mirc.exe path.
  1382. 46.Invalid CTCP messages are not replied to anymore.
  1383. 47.Fixed a small time-out bug related to dcc send/get/chat.
  1384. 48.New Identifiers:
  1385.  
  1386.    $abs(N) returns the absolute value of number N.
  1387.    $chr(N) returns the character with ascii number N.
  1388.    $asc(C) returns the ascii number of the character C.
  1389.  
  1390.    $len(text) returns the length of "text".
  1391.  
  1392.    $upper(text) returns "text" in uppercase.
  1393.    $lower(text) returns "text" in lowercase.
  1394.  
  1395.    $left(N,text) returns N left characters.
  1396.    $right(N,text) returns N right characters.
  1397.    $mid(S,N,text) returns N characters starting at S.
  1398.    $str(N,text) returns "text" repeated N times.
  1399.  
  1400.    $token(N,C,text) return Nth token separated by character C
  1401.                     (C is the ascii number of a character)
  1402.  
  1403.    $lines(file) return number of lines in specified file.
  1404.  
  1405.    $nick(N,#) returns Nth nickname on channel #.
  1406.    $snick(N,#) returns Nth selected nickname on channel #.
  1407.    $opnick(N,#) returns Nth Op nickname on channel #.
  1408.    $nopnick(N,#) returns Nth non-Op nickname on channel #.
  1409.  
  1410.    $channel(N) returns the Nth channel that you are on.
  1411.    $query(N) returns the Nth query window you have open.
  1412.    $chat(N) returns the Nth dcc chat window you have open.
  1413.  
  1414.    $notify(N) returns the Nth notify nick currently on IRC.
  1415.  
  1416.    For the above identifiers you can specify N as 0 (zero)
  1417.    to get the total number of nicks/channels/etc. for that
  1418.    identifier.
  1419.  
  1420.    $snotify   returns notify nick currently selected in
  1421.               notify list box.
  1422.  
  1423.    $level(address) finds a matching address in the remote
  1424.                    users list and returns its levels.
  1425.  
  1426.    $away returns the value $true or $false.
  1427.  
  1428.    Identifiers/variables can be placed inside the brackets.
  1429.  
  1430.    Example: /echo $right(3,$left($len(goats),ToMooOrNotToMoo))
  1431.  
  1432. 49.Added a simple /if statement...
  1433.  
  1434.    /if v1 operator v2 { ... }
  1435.    /elseif v1 operator v2 { ... }
  1436.    /else { ... }
  1437.  
  1438.    Example:
  1439.  
  1440.    if (((%x == 2) || (%y >= 3)) && ($1 == $parm1)) { echo match1! }
  1441.    else if ($len(%input) == 5) { echo match2! }
  1442.    else echo no match!
  1443.  
  1444.    If/elseif/else can all be nested inside each other. You
  1445.    should use () and {} brackets to make sure that you're
  1446.    terms are evaluated correctly though you don't *have* to
  1447.    use them.
  1448.  
  1449.    Using brackets also speeds up processing quite a bit since
  1450.    mIRC then knows exactly what it has to evaluate.
  1451.  
  1452.    Available comparisons:
  1453.  
  1454.    ==    equal to
  1455.    !=    not equal to
  1456.    <     less than
  1457.    >     larger than
  1458.    >=    larger than or equal to
  1459.    <=    smaller than or equal to
  1460.  
  1461.    //    is a multiple of
  1462.    \\    is not a multiple of
  1463.  
  1464.    isin  string v1 is in string v2
  1465.    iswm  wildcard string v1 matches string v2
  1466.  
  1467.    ison  nickname v1 is on channel v2
  1468.    isop  nickname v1 is an op on channel v2
  1469.  
  1470.    isnum number v1 is a number in the range v2
  1471.          which is in the form n1-n2 (v2 optional)
  1472.  
  1473.    ischan if v1 is a channel which you are on.
  1474.  
  1475.    isauto  if v1 is a user in your auto-op list for
  1476.            channel v2 (v2 optional)
  1477.  
  1478.    isignore if v1 is a user in your ignore list with the
  1479.             ignore switch v2 (v2 optional)
  1480.  
  1481.    isprotect if v1 is a user in your protect list for
  1482.              channel v2 (v2 optional)
  1483.  
  1484.    isnotify if v1 is a user in your notify list.
  1485.  
  1486.    To negate the above you can prefix them with an !
  1487.    exclamation mark.
  1488. 50.In all definitions, you do not need to specify the
  1489.    / command character any more for commands since it
  1490.    is really only needed when typing commands into the
  1491.    editbox. This also means you don't need to specify
  1492.    the / when defining aliases, etc. See 51.
  1493. 51.Variables or identifiers that don't evaluate to a value
  1494.    now return the value $null so they can be used in the
  1495.    if statement for checking etc. eg.
  1496.  
  1497.    listops {
  1498.      echo 4 * Listing Ops on #
  1499.      set %i 1
  1500.      :next
  1501.      set %nick $nick(%i,#)
  1502.      if %nick == $null goto done
  1503.      if %nick isop # echo 3 %nick is an Op!
  1504.      inc %i
  1505.      goto next
  1506.      :done
  1507.      echo 4 * End of Ops list
  1508.    }
  1509.  
  1510. 52.When entering text in an editbox you can now hold down
  1511.    the CONTROL key when pressing Enter and the text will be
  1512.    sent as plain text even if it begins with a command
  1513.    character. This will also work when you paste text into
  1514.    the editbox.
  1515. 53.Text in Alias, Popup, and Remote ediboxes is now auto-
  1516.    indented when { } brackets are encountered.
  1517. 54.Enlarged DCC Chat dialog to make it easier to use.
  1518. 55.You can now use an = (equal sign) to assign values to
  1519.    variables.
  1520.  
  1521.    %x = 5 + 1
  1522.    %x = 5 - %y
  1523.    %x = %x * 2
  1524.    %x = %z / $2
  1525.    %x = %x % 3
  1526.  
  1527.    Can only perform a single operation in an assignment
  1528.    at this time. You can also still do /set %x 5 + 1.
  1529. 56.Added $ctime identifier which returns total number of
  1530.    seconds elapsed since 00:00:00 GMT, January 1, 1970. This
  1531.    can be used with PING to find out how many seconds it took.
  1532. 57.Added ON CTCPREPLY to listen for replies to ctcps. eg.:
  1533.  
  1534.    1:ON CTCPREPLY:PING* {
  1535.      if ($parm2 == $null) echo [ $+ $nick PING reply]
  1536.      else {
  1537.        %pt = $ctime - $parm2
  1538.        if (%pt < 0) set %pt 0
  1539.        echo [ $+ $nick PING reply] %pt seconds
  1540.      }
  1541.      halt
  1542.    }
  1543.  
  1544. 58.Identifer $active returns the full name of the currently
  1545.    active window.
  1546. 59.Added Font button to alias, popup, and remote dialogs
  1547. 60.mIRC now automatically gets your web browsers path and
  1548.    name from the registry if it's there.
  1549. 61.Channels list is now saved to a file "channels.txt" and the
  1550.    channels list dialog now has "Apply" and "Get List" buttons.
  1551.    If "Get List" is pressed then a list is read from the server,
  1552.    if "Apply" is pressed then the latest list is used whether in
  1553.    the channels listbox or in the "channels.txt" file. The date
  1554.    time and server name are also stored in this file.
  1555. 62.Added "Save to file" item in channels list popup menu which
  1556.    allows you to save the currently displayed list to a file.
  1557. 63.Added "PORT" item to DDE which returns the current irc
  1558.    server port you are using.
  1559. 64.If userid in ident server is empty then mIRC assumes you're
  1560.    a new user and automatically fills in the userid from the
  1561.    email address you entered and turns on the ident server.
  1562. 65.Can now use the /quote command to do the same thing as /raw.
  1563. 66.Now supports server-side filtering on UNDERNET channels for
  1564.    the minimum and maximum number of users on a channel. This
  1565.    means that you will only recieve a list of channels which
  1566.    match your choices for these two criteria.
  1567. 67.Can now use Alt-J to pop up the channels folder dialog.
  1568. 68.Speeded up display of Channel nicknames listbox. This actually
  1569.    affects quite a few other things in mIRC since the channels
  1570.    listbox was being used to store the nicknames for each channel.
  1571.    Now the nicknames are stored internally. Any command or
  1572.    function that involves checking/using nicknames is now far
  1573.    faster than before.
  1574. 69.Now sounds an event beep when a chat that you initiated
  1575.    makes a connection.
  1576. 70.Can now set a string variable to an empty string with "".
  1577.    eg. set %name ""  or  %s = ""
  1578. 71.Text in the alias/popup/remote dialogs is now displayed
  1579.    quickly.
  1580. 72.The Wait cursor is now used in more places to give a
  1581.    better indication of when mIRC is busy doing something.
  1582. 73.Can now select multiple files in the Log File listbox
  1583.    to make deleting files easier.
  1584. 74.For $read and /play you no longer need to specify the
  1585.    number of lines in a file on the first line of the file.
  1586.    If you do, mIRC will use the number and will work faster,
  1587.    if you don't mIRC will count the lines itself.
  1588. 75.Can now use Control-Break to break out of a currently
  1589.    executing alias in case it's in an infinite loop, etc.
  1590. 76.mIRC now defaults to using aliases.ini, popups.ini, and
  1591.    remote.ini files if these files aren't specified in mirc.ini,
  1592.    and if these sections aren't found in mirc.ini. If these
  1593.    files don't exist, mIRC will create them.
  1594. 77.Added /alias command which allows you to add and remove
  1595.    aliases from the aliases list. Only works for *single line*
  1596.    aliases.
  1597. 78.Colour now works in DCC Chats.
  1598. 79.Speeded up Tab display in setup and options dialogs.
  1599. 80.Fixed Editbox bug when pressing enter and text isn't sent.
  1600. 81.DDE Server now defaults to ON with service name MIRC.
  1601. 82.Added "CONNECT" DDE topic, which connects you to a server and
  1602.    joins a channel. The data format is: irc.funet.fi,6667,#mIRC,1
  1603.    where the last digit is a 1 or 0 indicating whether you want
  1604.    mIRC to be activated or not. This is an XTYP_POKE.
  1605. 83.Converted some routines to assembly to increase speed.
  1606. 84.Added $asctime() which converts the value returned by $ctime
  1607.    or a PING into a full date in text format.
  1608. 85.Added support for ctcp UTC.
  1609. 86.Now ignores DCC-related ctcps sent to a channel.
  1610. 87.Shift-F1 now pops up the keyword search dialog for the help file.
  1611.  
  1612. 27/04/96 - mIRC v4.1 (final bugfix release)
  1613.  
  1614. Fixes/Additions:
  1615. 1.Fixed /sound being limited to eight character
  1616.   channel/nick names.
  1617. 2.Fixed mirc.ini file being corrupted in
  1618.   certain situation.
  1619. 3.Fixed servers sorting bug in setup dialog.
  1620. 4.Added /links window which displays a list
  1621.   of all servers in the network and allows
  1622.   easy connecting, etc.
  1623. 5.Fixed character | bug in nicknames/userids.
  1624. 6.Fixed small ON CHAT bug.
  1625. 7.Fixed DCC Get minimize button not remembering
  1626.   setting.
  1627. 8.Fixed $ bug.
  1628. 9.Fixed icon highlighting bug.
  1629. 10.Fixed bug that was intermittently affecting
  1630.    various commands.
  1631. 11.Fixed /ctcp with "dcc" in nickname bug.
  1632. 12.reFixed Beep.
  1633. 13.Fixed not replying to server PING bug.
  1634. 14.Fixed /unset command not working in an alias.
  1635. 15.Now saves window buffer to ".log" instead
  1636.    of a ".txt" file.
  1637. 16.Added Log file listbox and View/Delete log
  1638.    to Logging options dialog.
  1639. 17.Now displays in the status bar the *actual*
  1640.    address of the server you connect to.
  1641. 18.Improved context sensitive F1 help key to
  1642.    work with more dialogs.
  1643. 19.Fixed small identd and finger bug.
  1644. 20.Added Fileserver warning dialog to warn
  1645.    new users.
  1646. 21.Added $hfile identifier which is like the $file
  1647.    dialog except it lists files horizontally.
  1648. 22.Fixed fileserver "read" command bug.
  1649. 23.Added option to display identd requests.
  1650. 24.Improved mark/copy text routine a bit.
  1651. 25.Remodelled about dialog.
  1652. 26.Fixed socks firewall access.
  1653. 27.Added $++ identifier which works the same as
  1654.    the $+ identifier but does the concatenation
  1655.    after the previous item has been evaluated, so
  1656.    something like this works now:
  1657.      /say " $+ $read c:\test.txt $++ "
  1658. 28.Auto-join on invite now ignores invites to
  1659.    channel 0. (/join 0 makes you part all channels,
  1660.    seems to be an irc server feature).
  1661. 29.Finger window is restored if it is minimized
  1662.    when you try to do a finger.
  1663. 30.Changed /list command so you don't have to prefix
  1664.    the wildcard text with a #. eg. /list help
  1665.    and /list *help* is turned into /list help
  1666. 31.Now displays /whois Idle time in hours/minutes/
  1667.    seconds format instead of just seconds.
  1668. 32.Clicking on "Arrange Icons" now places icons
  1669.    behind open windows when arranging them.
  1670. 33.Now shows both server name and Port number
  1671.    when connecting.
  1672. 34.Status window default height is now larger.
  1673. 35.Now handles "erroneous nickname" better.
  1674. 36.If no directory is specified in the wave filename
  1675.    for the /wavplay command, it now defaults to the
  1676.    wave directory specified in the Sound Requests
  1677.    options dialog.
  1678. 37.Other things.
  1679.  
  1680. 20/03/96 - mIRC v4.0 (final version)
  1681.  
  1682. Fixes/Additions:
  1683. 1.Fixed standard editbox popup menu under 95 not
  1684.   being displayed on a right mouse-click.
  1685. 2.Fixed problem with /ctcp to a user with "dcc"
  1686.   in nickname.
  1687. 3./query command pops an existing window to the
  1688.   front if it's hidden.
  1689. 4.Fixed "parameter dialog" popping up bug.
  1690. 5.Fixed Channel Dialog gpf bug if kicked while
  1691.   dialog still open.
  1692. 6.Dynamic help menu now displays a list of .hlp files
  1693.   in mIRC's directory, as well as the readme.txt,
  1694.   versions.txt, and update.txt files, for quick
  1695.   access. Also adds internal aliases that match
  1696.   these filenames, so if you have "winsock.hlp" in
  1697.   the help menu you can type /winsock <topic>. The
  1698.   menu is always updated before it is displayed.
  1699. 7.[removed]
  1700. 8.Added "play wave" options to event beeps section.
  1701. 9.Now remembers DDE settings across sessions,
  1702.   added to "Servers" section in options dialog.
  1703. 10.Added "Popup notify window on connect" option.
  1704. 11.Added new configurable menu which allows you to
  1705.    add a menu to the main menu bar. This menu has
  1706.    the functionality of both the main, query,
  1707.    and nickname popup menus, and allows you to
  1708.    define commands that work in different types
  1709.    of windows.
  1710. 12.Can now test for and prevent SOUND ctcp's
  1711.    in the remote.
  1712. 13.Fixed channel list "Hide" parameters being
  1713.    erased in certain situations.
  1714. 14.Modularized Tab dialog routines so now they're
  1715.    "completely" independent of the rest of the code.
  1716. 15.Improved setup dialog/server selection:
  1717.    a) Added "group" definition to servers. When sorting
  1718.       the servers list this groups servers with the
  1719.       same group name together.
  1720.    b) Added "connection retry" options. One second
  1721.       delay inbetween connect retries.
  1722.    c) Can select multiple servers to connect to.
  1723.    d) Can do "/server groupname" which will cycle through
  1724.       all servers of group "groupname" when trying to connect.
  1725.  
  1726.    NOTE:
  1727.    When using the 16bit mIRC, winsock will "freeze" sometimes
  1728.    when cancelling a connection. This is because winsock has
  1729.    to timeout... as far as I know, mIRC can do nothing about
  1730.    this since it is built-in to winsock, so even if mIRC
  1731.    cancels a connection, winsock still waits for 10 seconds
  1732.    *anyway* before completing the cancellation. This might
  1733.    result in other problems.
  1734.  
  1735. 16.Added "Popup channel folder on connect" option.
  1736. 17.Now capitalizes the first word in a ctcp message.
  1737. 18.Notify:
  1738.    a) Now has it's own window in options dialog.
  1739.    b) Number of nicks is unlimited.
  1740.    c) Allows little notes for each nickname.
  1741. 19.Added /commands [on|off], turns remote commands on/off.
  1742.    /events [on|off] turns only events on/off, and
  1743.    /remote [on|off] now turns both commands and events on/off.
  1744. 20.Added other beep/close options to dcc options dialog.
  1745. 21.Fixed $parms bug, was only storing first 256 chars.
  1746. 22.Added "Place ? marked urls at top of list" option in url options.
  1747. 23.Can now do "/ignore -auN", which unignores the
  1748.    specified address after N seconds. Can now also do,
  1749.    /ignore -apcnti, where p=private,c=channel,n=notice,
  1750.    t=ctcp,i=invite.
  1751. 24.Can now enter auto-op addresses with channels,
  1752.    eg. nick!user@address,#mirc,#mircplus
  1753. 25.All /dde commands are now buffered and sent at intervals
  1754.    specified by the DDE delay option.
  1755. 26.Added /clearall command which clears buffers of all
  1756.    status, channel, and private windows.
  1757. 27.Now warns you if you try to quit mIRC when there are
  1758.    DCC Transfers in progress.
  1759. 28.[removed]
  1760. 29./links command results are now displayed in a coloured
  1761.    tree fashion to make it more readable (?)
  1762. 30.Added "pop up setup dialog on startup" option.
  1763. 31.Improved speed of text display slightly.
  1764. 32.Fixed /rlevel not removing levels in certain situations.
  1765. 33.Added -s<text> option to /write command, scans file for a
  1766.    line beginning with <text> and writes to it.
  1767. 34.[removed]
  1768. 35.Added /groups [-e|d] command which lists all, enabled,
  1769.    and disabled groups in remote definitions.
  1770. 36.Can now use #$?#="etc." which will ask for a channel
  1771.    name if you try to use the command in a non-channel
  1772.    window, otherwise it uses the channel name of the
  1773.    currently active channel window.
  1774. 37.Command parsing routine completely rewritten, much
  1775.    more robust and evaluates identifiers etc. more
  1776.    intelligently now. However, because of increased
  1777.    processing/checking etc. this routine is now slower
  1778.    than the older routine.
  1779. 38.Moved Ident server options to setup dialog.
  1780. 39./speak command requests are now also placed
  1781.    in delayed DDE queue.
  1782. 40.Added variable support:
  1783.    /set [-q] <%var) [value]
  1784.    /unset [-q] <%var> [%var2] ... [%varN]
  1785.    /unsetall
  1786.    /inc [-q] <%var> [value]
  1787.    /dec [-q] <%var> [value]
  1788.    Can be edited in Variables section in remote dialog.
  1789. 41.Iconized Notify and Url windows are now highlighted
  1790.    whenever their contents change.
  1791. 42.Notify and URL toolbar buttons are now also highlighted
  1792.    if either the window isn't open or isn't active.
  1793. 43.Fixed /ctcp nick VER bug.
  1794. 44.Fixed beeping bug where mIRC wasn't beeping properly
  1795.    for some users.
  1796. 45./sound now doesn't require you to specify a message.
  1797. 46.Added $level which represents users level in remote.
  1798. 47.Added /remove <filename> which deletes the specified file.
  1799. 48.Added $cd which represents users current directory
  1800.    in a fileserver session (Used in ON SERV event).
  1801. 49.Specifying a nickname in the finger dialog now works
  1802.    the same way as /finger <nickname>.
  1803. 50.Can now use /nick while not connected to server:
  1804.    /nick <nickname> [alternate]
  1805. 51.Fixed bug in resolving dns addresses.
  1806. 52.Fixed /finger not resolving for some users.
  1807. 53./auto and /ignore now *add* an address by default,
  1808.    to remove an address you can use the -r switch.
  1809.    ie. they do not toggle anymore.
  1810. 54.Added Firewall option, doesn't allow DCC's through
  1811.    a firewall yet though.
  1812. 55.Added "IP method" option for users with different
  1813.    winsock setups.
  1814. 56.Fixed DCC Sending a file with the same name as users
  1815.    nickname (would result in an error message).
  1816. 57.Fixed URL sorting in url window.
  1817. 58.Now tests to see if dcc send filename is a system device,
  1818.    if so dcc send is ignored.
  1819. 59.Fixed & characters in editboxes in options dialog
  1820.    being messed up.
  1821. 60.Fixed disappearing ini and temp files not being removed (?)
  1822. 61.Fixed "read" in fileserver allowing read access to files
  1823.    outside home directory.
  1824. 62.Fixed occasional "notice" gpf.
  1825. 63.Fixed ctcp TIME missing trailing ^A.
  1826. 64.Fixed Status window saving/reset not working.
  1827. 65 Can now specify -sgroupname on the command line.
  1828. 66.Other bits and pieces.
  1829.  
  1830. 06/01/96 - mIRC v3.92
  1831.  
  1832. Fixes/Additions:
  1833. 1.Fixed /sound gpf bug.
  1834. 2.Fixed security bug in remote.
  1835. 3.Fixed gpf bug on windows opening due to old
  1836.   window pos/size format in mirc.ini.
  1837. 4.Changed fingers storage method in mirc.ini.
  1838. 5.Improved Channels List dialog.
  1839. 6.Popups are now fully allocated dynamically.
  1840. 7.Changed $file identifier to display only files,
  1841.   can now use $dir to display both directories
  1842.   and files.
  1843. 8.Added /font command which pops up the font
  1844.   dialog.
  1845. 9.Added "Extract URL" menu item to channels list
  1846.   popup menu, which extracts a URL from a channels
  1847.   topic and puts it in the URL list.
  1848. 10.DCC Send "percent" info is now updated when
  1849.    an Ack is received, not when a packet is sent.
  1850. 11.Fixed $parms not working with $read.
  1851. 12.Speeded up tabs display in options dialog slightly.
  1852. 13.Small improvements in DDE response speed.
  1853. 14.Function key aliases can now execute several
  1854.    commands by using the | command seperator.
  1855. 15.Fixed DCC gpf problem (?)
  1856. 16.Fixed $read not closing files in certain situations.
  1857. 17.When entering text in an editbox mIRC now beeps
  1858.    when you are within 30 characters of the maximum
  1859.    allowed line length.
  1860. 18.mIRC now works with the three major WWW Browsers.
  1861. 19.Fixed '=' prefix processing bug in remote.
  1862.  
  1863. 28/12/95 - mIRC v3.9
  1864.  
  1865. Fixes/Additions:
  1866. 1.Fixed the /join KEY bug.
  1867. 2.Add -q switch to /raw which makes the /raw command
  1868.   work "quietly", not printing out what it's sending.
  1869. 3.Fixed channel folder dialog not remembering
  1870.   added/deleted channels when pressing OK.
  1871. 4.Now /ignores invites as well.
  1872. 5.Fixed the remote DO command.
  1873. 6.Can now handle &channels, fully supported in aliases,
  1874.   popups, and remote definitions.
  1875. 7.Redecorated. Tending towards simple and uncluttered
  1876.   menus and interface.
  1877. 8.Removed font dialog, can now change a font only from
  1878.   a windows system menu.
  1879. 9.Can now do /me or /action in dcc chat windows.
  1880. 10.The 32bit under 95 now saves logs and buffers using
  1881.    the full length filename.
  1882. 11.ON TEXT etc. now allow wild card matches using
  1883.    multiple * in the match text.
  1884.  
  1885.    NOTE: the text matching routine in ON TEXT etc.
  1886.    doesn't use the = sign anymore, as it's now redundant.
  1887.  
  1888. 12.Found bugs in the wildcard matching routine while
  1889.    making ON TEXT work with it. Fixed.
  1890. 13.Made Tabs in options dialog more 95-ish. The bold
  1891.    font is still there though, sorry, I like it!
  1892. 14.mIRC now does NOT reply to unknown ctcp messages,
  1893.    it just prints them in your window as usual and
  1894.    then ignores them (as per the RFC).
  1895. 15.Aliases now work better when called from remote
  1896.    definitions.
  1897. 16.Fixed -l# switch in play command.
  1898. 17.Improved positioning of various dialogs.
  1899. 18.DALnet URL catching on joining a channel now works.
  1900. 19.Nicks in notify list are no longer forced to lowercase.
  1901. 20./save can now be used in an alias with | separators.
  1902. 21.Added -stext option to $read, which scans the specified
  1903.    file for a line beginning with the specified text.
  1904. 22./pop delay is now randomly *close* to the number you
  1905.    specify as a delay.
  1906. 23.Fixed /server N (specifying server number).
  1907. 24.Fixed window bug possibly related to dcc gpfs.
  1908. 25.Added -u# switch to /ban command which specifies delay
  1909.    time before unbanning the specified ban. Minimum delay
  1910.    time is 10 seconds. If no number is specified, it defaults
  1911.    to 30 seconds. eg. /ban -u15 nick
  1912. 26./fingering a nick now only adds the nick's address to the
  1913.    fingered addresses list, not the users whole irc address.
  1914. 27.Now allows an unlimited number of /timers.
  1915. 28.Fixed ini specification on command line.
  1916. 29.Improved dynamic memory allocation in various places.
  1917. 30.Added notify list window. Can use the toolbar notify button
  1918.    or /notify [-sh] to show/hide the window. Please note that
  1919.    there is a minimum window width under 95 that I haven't
  1920.    been able to override.
  1921. 31.Address returned by IAL was sometimes invalid. Fixed.
  1922. 32.Added [-ar] switches to /notify, /protect, /ignore,
  1923.    which forces the command to -add or -remove a nick
  1924.    instead of toggling it.
  1925. 33.Added $site identifier for remote addresses.
  1926.    eg. for khaled@mardam.demon.co.uk
  1927.    $site = mardam.demon.co.uk
  1928. 34.Now allows /sound in dcc chats.
  1929. 35.Added minimal DDE support, as well /dde command and
  1930.    a $dde identifier, to be expanded. See DDE section in
  1931.    help file for description
  1932. 36.Added "Edit" button for editing finger file in options
  1933.    dialog.
  1934. 37.Can now access popup menus in the notify, URL, and channels
  1935.    list window through the keyboard. Pressing RETURN performs
  1936.    a "double-click", pressing SPACE pops up the popup menu.
  1937. 38.Added Alt-N for notify and Alt-U for URL windows.
  1938. 39./msg command now by default doesn't switch to the
  1939.    window you're sending a message to unless you specify
  1940.    the [-s] switch. eg. /msg -s hiya!
  1941. 40.Added /timestamp [on|off] command.
  1942. 41.Added /partall command which parts all the channels
  1943.    you're currently on.
  1944. 42.Added "Minimize DCC get window" option.
  1945. 43.Added $adate (for US style month/day/year),
  1946.    and $fulldate which spells it all out.
  1947. 44.Added a "time to activate" option to the /timer
  1948.    command, eg. /timer1 11:30 1 1 /say It's now 11:30am
  1949. 45.Fixed "filename" in quotes with no spaces bug.
  1950. 46.Fixed using $?="text" identifier.
  1951. 47.Added $file identifier, eg. in a popup menu item:
  1952.    Play Wave:/wavplay $file="Select a Wave!" c:\waves\*.wav
  1953. 48.Fixed disappearing aliases/popups/remote bug, where
  1954.    filenames for each of these were being reset to the
  1955.    mirc.ini file.
  1956. 49.Added a "/timers off" switch which allows you to turn
  1957.    off all active timers.
  1958. 50.Alt-L now pops up the Channels List dialog.
  1959. 51.Added /disconnect command, hard disconnect from server
  1960.    without a /quit.
  1961. 52.Fixed ON SNOTICE reacting twice to server notices.
  1962. 53.Fixed/Improved other bits and pieces.
  1963.  
  1964. 25/11/95 - mIRC v3.8
  1965.  
  1966. Fixes/Additions:
  1967. 1.Added option to show invites in active window.
  1968. 2.Fixed $! bug.
  1969. 3.Added option to auto-resume existing files.
  1970. 4.Fixed /echo with invalid parameters gpfing.
  1971. 5.Option dialog now remembers it's "view" across
  1972.   sessions.
  1973. 6.Paused op wasn't clearing a nick from it's list
  1974.   immediately if a nick parted or quit, but had to
  1975.   timeout first.
  1976. 7.Added /speak <text> command which uses monolog
  1977.   to speak the specified text.
  1978. 8.Added /dns <nick/address> which resolves addresses.
  1979.   If mIRC sees a "." in the name you specify it assumes
  1980.   it's an address and tries to resolve it. Otherwise
  1981.   it assumes it's a nickname and does a /whois to
  1982.   find the users address and then looks it up. If you
  1983.   give it an IP address, it looks up the host name.
  1984. 9.Removed small users window in remote dialog, now
  1985.   using one big window for users, commands, and events.
  1986. 10.The Add Dialog has been discontinued. Check out the
  1987.    alias, popup, and remote dialogs for the improvement.
  1988.  
  1989.    IT IS *HIGHLY* RECOMMENDED THAT THE ALIAS, POPUP,
  1990.    AND REMOTE SECTIONS BE SAVED SEPERATE FROM THE
  1991.    MAIN MIRC.INI FILE FROM NOW ON. THE MIRC.INI
  1992.    CAN'T HANDLE THE STORAGE OF LARGE AMOUNTS OF
  1993.    INFORMATION AS REQUIRED BY THE ALIAS, POPUP,
  1994.    AND REMOTE SECTIONS.
  1995.  
  1996. 11.Finally fixed DCC Send/Get windows sometimes
  1997.    not auto-closing at end of transfer (?)
  1998. 12.Right-clicking in a non-active window will now
  1999.    bring it to the top and make it active.
  2000. 13.Fixed socket error message when running second
  2001.    copy of mIRC (didn't actually affect anything).
  2002. 14.For new users, mIRC no longer copies the mirc.ini
  2003.    to the windows directory but leaves it and uses it
  2004.    in the same directory as the EXE. However, if it
  2005.    finds an mirc.ini in the windows directory it will
  2006.    use it (to remain compatible with older users).
  2007. 15.Small fixes relating to Function keys.
  2008. 16.Can now use /load -apuce <file.ini> or
  2009.    /save -apuce <file.ini> to load and save aliases,
  2010.    popups, and remote sections from the command line.
  2011.    NOTE: You can only refer to one section at a time,
  2012.    so you can't do /load -ap some.ini.
  2013. 17.All memory in the parsing and remote routines is
  2014.    now allocated dynamically.
  2015. 18.Added ignore options to dcc send/chat in the dcc
  2016.    options dialog. Can also use /sreq and /creq
  2017.    (send request and chat request) with the parameters
  2018.    [ ask | auto | ignore] from the command line.
  2019. 19.Added "ON CHAT:text:/msg ..." and ON SERV events to
  2020.    scan text in dcc chat windows and fileserver windows.
  2021. 20.Added command line option to connect to a server and
  2022.    join channels which is more of a standard WWW link
  2023.    definition: //server:port/#channel,#channel
  2024. 21.Fixed GPF problem for some users when quitting mIRC (?)
  2025. 22.Added /flush [levels] command. This clears the remote user
  2026.    list of nicknames that are no longer valid. For each nick
  2027.    in the user list that matches the specified levels mIRC
  2028.    checks to see if that nick is on any of the channels that
  2029.    you are currently on. If not, the nick definition is removed
  2030.    from the user list. If you do not specify [levels] then
  2031.    mIRC clears all nicks from the user list that don't exist
  2032.    on channels you are on.
  2033. 23.Added "me" prefix to remote definitions, eg.:
  2034.    me:1:ON JOIN:/msg etc...
  2035.    This limits a command definition to reacting only to
  2036.    events caused by your client. This is useful in case you
  2037.    use Bots which have the same address as you.
  2038. 24.The address in the Finger dialog now defaults to
  2039.    the last address which was fingered.
  2040. 25.The /play command has been improved in a major way, 
  2041.    it can now queue requests (see the help file!)
  2042. 26.Fixed bug with highlighting in query windows.
  2043. 27.Added Finger server (must be set up in a certain
  2044.    way, see the help file on how to do this).
  2045. 28.Added ON SNOTICE event, which listens for server
  2046.    notices and can filter them ie. prevent them from
  2047.    being displayed.
  2048. 29.Remodelled the setup dialog. Can now also store
  2049.    an unlimited number of servers.
  2050. 30.If /finger sees a "." in the parameter you give it, it
  2051.    will assume it's an address and will finger it, otherwise
  2052.    it will assume it's a nickname and will do a /whois on the
  2053.    nick to find their address and use that for the finger.
  2054. 31.Added option to change tooltip delay.
  2055. 32.Split the "Beep on window message" option into two...
  2056.    "Beep on channel message" and "Beep on query message".
  2057. 33.Fixed the notify bug which would result in mIRC telling
  2058.    you all the people on your notify list are on... then
  2059.    off... then on... then off...
  2060. 34.Simplified /timer code and fixed a small bug in it.
  2061. 35.Command line window buffer has increased to 30 lines.
  2062. 36.Now catches server numeric 328 for URL description
  2063.    when joining a channel on DALnet (they might not have
  2064.    implemented this yet).
  2065. 37.Fixed toolbar buttons colours when the default system
  2066.    colours are changed.
  2067. 38.The 32bit mIRC can now dcc send/get LFN's with spaces
  2068.    in them. Unfortunately, other clients won't be able to
  2069.    receive these properly! See the "DCC Send" section in
  2070.    the help file which explains the problem.
  2071.    You can also do: /dcc send nickname "this is a.text file"
  2072. 39.Added -nnick1,nick2 command line option which sets
  2073.    your nicks to these values.
  2074. 40.Overhaul of irc and parsing routines, simplified and
  2075.    speeded up.
  2076. 41.Added [on | off | close] to /url command to turn on/off
  2077.    catching urls and to close the URL window.
  2078. 42.Added option "Show modes in channel".
  2079. 43.Now gives the reason why you can't join a channel.
  2080. 44.If you have "rejoin channel when kicked" turned on
  2081.    and you are kicked, mIRC will keep the channel
  2082.    window open while it tries to rejoin and will only
  2083.    close it if it can't.
  2084. 45.If a /play filename doesn't have a directory spec. it
  2085.    defaults to the mirc.exe directory.
  2086. 46.Added a flexibile /write command which writes lines
  2087.    to a file.
  2088. 47.Added "Show queries in active channel window" which
  2089.    shows private messages from other users in a channel
  2090.    window without opening a query window.
  2091. 48.Added "TAB" key putting "/msg nickname" into the editbox
  2092.    where "nickname" is the nick of the last person who
  2093.    messaged you. If you press TAB repeatedly it cycles
  2094.    through the nicks of the last five people who messaged
  2095.    you.
  2096. 49.Now shows who set the topic and at what time when you
  2097.    join a channel on Undernet and DALnet.
  2098. 50.Fixed small bug with the /sound command not checking
  2099.    properly if a sound file exists.
  2100. 51.The Options dialog now uses Tabs. I had trouble using
  2101.    existing TabDialog DLL's, so I coded my own Tab
  2102.    display routines.
  2103. 52.Fixed /channel dialog bug which would occur if you
  2104.    typed /channel repeatedly while it was in the middle
  2105.    of retrieving the channel info.
  2106. 53.Fixed a problem with /whois replies, the format of
  2107.    the reply has changed and is hopefully clearer now.
  2108. 54.Can now also define Shift and Control Function key
  2109.    definitions.
  2110.  
  2111. 24/10/95 - mIRC v3.72
  2112.  
  2113. Fixes/Additions:
  2114. 1.Fixed $parms not being passed in a redirection.
  2115. 2.Can now /play to any channel/nick without needing
  2116.   to have that window already open.
  2117. 3.Added -ttopic option to /play which looks for the
  2118.   specified [topic] in a text file and plays it to
  2119.   the specified nick/channel.
  2120. 4.Added $pnick identifier which refers to the nick/channel
  2121.   which is currently being played to, so you can use it
  2122.   in /played commands.
  2123. 5.Allows #$parmN to force a parameter to be a channel.
  2124. 6.Fixed DCC Resume filesize bug.
  2125. 7.Added option to show notifies in active window.
  2126. 8.Completely reorganized the Options dialog as it was
  2127.   too crowded and it was getting harder to add new options.
  2128.   Now divided into sections, and also incorporates the
  2129.   options in the extras, url, sounds, and ident dialogs.
  2130.   The menus and toolbar buttons have been re-organized
  2131.   accordingly.
  2132. 9.Fixed QUIT bug when exiting mIRC while still connected.
  2133.   It was sending a part instead of a quit to the server.
  2134. 10.Fixed /timer not releasing it's memory in certain
  2135.    situations.
  2136. 11.Fixed positioning of : in some raw commands.
  2137. 12.Fixed setting of focus to windows.
  2138. 13.Added option to dump joins/parts to status window.
  2139. 14.Now shows DCC transfers percentage/size at head
  2140.    of window title for win95 users.
  2141. 15.Messages from irc ops of the form $address or
  2142.    #address are now displayed in the server window
  2143.    in pretty purple as opposed to opening up a query
  2144.    window.
  2145. 16.Added "clear list" button to dcc chat dialog (the
  2146.    DCC Send dialog uses the same list).
  2147. 17.The /pop delay value can be up to 15 seconds now.
  2148. 18.The weird DCC Send dialog bug was fixed (?)
  2149. 19.Improved copy/paste routine memory allocation.
  2150. 20.Fixed /sound with invalid parameters gpfing.
  2151. 21.Fixed some toolbar colours not being displayed
  2152.    correctly for some buttons.
  2153. 22.Number of channels in channel list window is now
  2154.    shown at beginning of title.
  2155. 23.Text printed with the /echo command is now wrapped.
  2156. 24.Added $r(v1,v2) identifier, returns random number
  2157.    or letter between v1 and v2.
  2158. 25.Fixed Ident server time-out bug.
  2159.  
  2160. 12/10/95 - mIRC v3.7
  2161.  
  2162. Fixes/Additions:
  2163. 1.An *iconified* channel list window is not restored
  2164.   if a /list is done, instead it's icon is placed above
  2165.   current windows (without focus) for easy access.
  2166. 2.The Join Channel dialog can now handle multiple
  2167.   selections.
  2168. 3.The /timer can now work with aliases again.
  2169. 4.Can now prevent an identifier from being evaluated
  2170.   the first time through the alias routine by prefixing
  2171.   it with a ! for example: $!read, $!url, $!me, etc.
  2172.   This allows you to use it in a /timer command if you
  2173.   want the identifier to be re-evaluated every time.
  2174. 5.Fixed /channel dialog bug and improved memory
  2175.   allocation for the ban list.
  2176. 6.Fixed bug in status window sizing.
  2177. 7.Fixed Timer dialog bug, when selecting cancel
  2178.   timer wasn't being reset correctly.
  2179. 8.Improved grouping of switches in options dialog.
  2180. 9.Fixed "disconnected" bug while trying to connect
  2181.   to another server if already connected to one.
  2182. 10.Cleaned up popup menu routines.
  2183. 11.Major improvement in robustness of input,
  2184.    general irc, and remote routines.
  2185.  
  2186.             BACKUP YOUR MIRC.INI FILE(S)
  2187.  
  2188. 12.Wrote my own read and write INI routines for parts of
  2189.    the mirc.ini file since the standard INI routines
  2190.    were too slow. Loading and saving is almost instant now.
  2191.  
  2192. 13.Fixed windows not being saved/closed properly on exit.
  2193. 14./play now works when used in remote commands.
  2194. 15.Added /echo command which prints text in the specified
  2195.    window (for debugging purposes).
  2196. 16.Now using 0x04L in dialog definitions so that
  2197.    3D dialogs under win95 are automatic.
  2198. 17.Can now do "/server N" where N is the Nth server
  2199.    in the server list.
  2200. 18.Fixed font selections not being saved correctly.
  2201. 19.Added URL catcher window which automatically catches
  2202.    URLs from text in channels etc. and stores them in
  2203.    a listbox. You can then send a URL to your WWW browser
  2204.    directly through mIRC. Type /url [-d] to open the window.
  2205.    Use -d to clear all ? marked items before showing the list.
  2206. 20.If a nick in the notify list is prefixed with a + sign
  2207.    a /whois is done on it on a notify.
  2208. 21.Added sounds dialog and a new /sound command which
  2209.    allows multiple users on a channel to hear sounds at
  2210.    the same time (assuming they have the same wave files).
  2211.    format: /sound [nick/channel] <file.wav> <message>
  2212. 22.Fixed problem with % in channel names (and other things).
  2213. 23.Fixed channel dialog "Key already set" bug.
  2214. 24.Added $url identifier which references the currently
  2215.    active URL in your WWW browser.
  2216. 25.Added option in extras dialog to redefine command char.
  2217. 26.Now automatically sets cursor to last edited window in
  2218.    remote and popup dialogs.
  2219.  
  2220.          *** NOTE NOTE NOTE IMPORTANT CHANGE ***
  2221.  
  2222. 27.Now uses a different format for commands/events:
  2223.    Old format: 1:PING:/notice *1:$nick hi there
  2224.    New format: 1:PING:/notice $nick hi there
  2225.    This greatly simplifies processing, the routines
  2226.    are now probably more than twice as fast as before.
  2227.    mIRC will automatically detect and convert old format
  2228.    definitions on startup (and when /add is used).
  2229.  
  2230. 28.mIRC now maintains an internal list of nick!user@address
  2231.    for all users that are on the same *channels* as you. Whenever
  2232.    a /guser, /ruser, or /ban is issued, the internal list is
  2233.    searched first to find the nick's address. If no match is
  2234.    found, the normal /whois stuff is done.
  2235. 29.Now opens log files in shared mode.
  2236. 30.The nickname in the DCC Send dialog now defaults to
  2237.    the last nick to which a file was sent.
  2238. 31.Added $snicks which returns a list of the selected
  2239.    nicks in the current channel listbox. The list is
  2240.    in the form: nick1,...,nickN, so you can only use it
  2241.    in commands which take multiple nicks.
  2242. 32.Greatly improved/simplified address matching routine.
  2243. 33.Can now do /ignore <nick> [type] which looks
  2244.    up the specified nick's address by doing a /whois,
  2245.    same as the /auser, /ban, etc. commands.
  2246. 34.DCC Get dialog now allows you to specify a different
  2247.    directory for the incoming file.
  2248. 35.In the setup dialog, a server is highlighted after
  2249.    it is added to the server list.
  2250. 36.The nickname in the DCC Chat dialog now defaults to
  2251.    the last nick that was chatted to.
  2252. 37.Aliases can now be called from popup, remote, timer,
  2253.    play, and any other definitions. You can now also call
  2254.    several aliases on one line seperated by a | like normal
  2255.    commands. eg. 1:HELP:/help1 $nick | /help2 $nick
  2256.    (Aliases still can't call other aliases).
  2257. 38.Can now have up to 30 timers, also improved memory
  2258.    allocation for timers.
  2259. 39.Fixed bugs with the /add function.
  2260. 40.Fixed Clipboard missing last character bug (?)
  2261. 41.Default directories for the file/dir dialogs
  2262.    weren't being set correctly.
  2263. 42.The /notify command was checking twice instead
  2264.    of only once for nicks.
  2265. 43.The /timer command now also remembers the parameter
  2266.    line that was around when the /timer was issued.
  2267. 44.The 32bit mIRC should now handle LFNs okay.
  2268. 45.Can now do level comparison for ON KICK, ON OP,
  2269.    and ON DEOP, prefix a line with <,>,<=,>=,<>,=
  2270.    compares levels of eg. kicker and kicked and only
  2271.    executes definition if true.
  2272. 46.Attempted improvement and cleaning up of server
  2273.    oriented commands and their replies.
  2274. 47."signon time" in a /whois on the undernet and dalnet
  2275.    is now shown correctly.
  2276. 48.Can now specify a server on the command line
  2277.    eg. -sirc.server.addr:6667
  2278.    and mirc will connect to that server on startup.
  2279.    (You can combine this with the -j parameter to
  2280.    force it to join specific channels too).
  2281.  
  2282. 13/09/95 - released mIRC v3.64 patch
  2283.  
  2284. 1.Fixes the *1-3 type bug.
  2285.  
  2286. 11/09/95 - mIRC v3.64
  2287.  
  2288. Fixes/Additions:
  2289. 1.Fixed Local Host and IP address bug, added options
  2290.   in the setup dialog. Now works for any combination
  2291.   of requirements for people with different types of
  2292.   internet connections (see Setup in mirc.hlp!)
  2293. 2.$read command improved so you can specify
  2294.   a line number with [-l#]. For example:
  2295.   /silly /say $read -l5 silly.txt
  2296.   This will read line 5 of silly.txt.
  2297. 3.Now using "Common Dialogs" for file/directory selection,
  2298.   as well as for the DCC Send dialog (Long filenames
  2299.   are NOT yet supported).
  2300. 4.Optimized Remote routines - should be faster now.
  2301. 5.Can now use $read in remote definitions. For example:
  2302.   1:TEST:/notice *1:$nick I said " $+ $read c:\langs\mirc\test.txt $+ "
  2303. 6.Can now store up to 50 IRC server addresses in Setup dialog.
  2304.   Storage format in mirc.ini has changed, but will still read
  2305.   the old format.
  2306. 7.Finger button now pops up a red flag while finger is busy.
  2307.   The flag disappears when finger has been completed.
  2308. 8.Bug with Maximized mIRC window fixed.
  2309. 9.Finger and Timer dialogs now popup under their
  2310.   respective buttons.
  2311. 10.Added "Channels Folder" button which allows you to join
  2312.    a channel as well as maintain a list of your favourite channels.
  2313. 11.Added "List Channels" button which pops up the List
  2314.    parameters dialog, allowing you to quickly list channels.
  2315. 12.Fixed NT GPF bug when using toolbar.
  2316. 13.Added -j<#channel> command line option. For example:
  2317.    mirc.exe -j#mirc,#friendly,#etc
  2318.    The specified channels will be joined on connect. You
  2319.    MUST have an mirc.ini with the "Connect on startup" option
  2320.    selected.
  2321. 14.Fixed another bug with using * to begin a non-parameter
  2322.    identifier. eg. *mardam.demon* in aliases/etc.
  2323.  
  2324. 15.The /auser /guser and /ruser commands can now handle multiple
  2325.    levels. They have only been extended, so they are still
  2326.    compatible with your previous formats.
  2327.  
  2328.    /auser [-a] <level(s)> <nick | address>
  2329.    /guser [-a] <level(s)> <nick> [type]
  2330.    /ruser [level(s)] <nick> [type]
  2331.  
  2332.    For /auser /guser, the default is to replace any existing
  2333.    user with the specified levels (as usual). The [-a] option
  2334.    means add the specified level(s) to an existing users levels.
  2335.  
  2336.    The /ruser command removes the specified levels from an
  2337.    existing user. If all levels are removed for a user, the
  2338.    user is removed.
  2339.  
  2340.    See the Remote section in the Help file!
  2341.  
  2342. 16.Can now do /mode # +oooo nick1 nick2 nick3 nick4
  2343. 17./play can now be used in a remote/event definition.
  2344.  
  2345. 18.Extended the /rlevel command to also work with multiple
  2346.    levels.
  2347.  
  2348.    /rlevel [-r] <level(s)>
  2349.  
  2350.    If the [-r] is NOT specified, it works as usual. If
  2351.    the [-r] IS specified, the specified level(s) are removed
  2352.    from users that have them. If a user's levels are ALL
  2353.    removed, the user is removed.
  2354.  
  2355. 19.Fixed bug with Green box being drawn around iconized
  2356.    window in response to wrong messages.
  2357. 20.Fixed several bugs in /play with using -r and -l.
  2358.    The format has changed slightly to:
  2359.  
  2360.    /play [-crl#] <filename> [delay]
  2361.  
  2362.    This now allows you to specify a delay for -r and -l,
  2363.    You must now specify the line number like this:
  2364.  
  2365.    /play -l24 file.txt 1000
  2366.  
  2367. 21.Text colours are now ok when using > 256 color setup.
  2368.  
  2369. 31/08/95 - mIRC v3.6
  2370.  
  2371. Fixes/Additions:
  2372. 1.Highlight Box around an Icon now turns green if a highlighted
  2373.   word is spoken in a window.
  2374. 2.Fixed Ping Pong bug which was preventing lines from being
  2375.   sent properly to the server.
  2376. 3.Fixed Editbox/Colors bug in Extras dialog.
  2377. 4.Inserting blank lines in Remote/events/aliases between
  2378.   commands would lead to loss of following definitions.
  2379. 5.Channel list window would clear if you disconnected and then
  2380.   connected again.
  2381. 6.Aliases, Remote Users, Commands, and Events definitions are now unlimited.
  2382.   ie. you can have as many as you want, however the limitation is the
  2383.   size of the editbox (around 30k?).
  2384. 7.Fixed font dialog bug when tabbing with cursor keys.
  2385. 8.Popups are still limited to 300 menuitems for each popup menu.
  2386. 9.Max. length of a line in aliases, remote, and popups is approx. 600 chars.
  2387.   Same applies to lines in the Options dialog.
  2388. 10.Now allows a non-op to change topic in channel dialog.
  2389. 11.Fixed :) bug.
  2390. 12.Fixed /auser /guser bug.
  2391. 13.Fixed /channel dialog title bug.
  2392. 14.Added a simple NON-configurable toolbar with tooltips.
  2393.    A Configurable toolbar would take a lot of work, so I probably
  2394.    won't get around to adding it (so don't ask! :)
  2395. 15.Fixed ctcp PING reply missing a Ctrl-A at the end (?)
  2396. 16.Specifying a /who *146.219* numerical address would mess up because
  2397.    the *1 is a parameter specifier. mIRC now checks to see if there is
  2398.    a . in the number, and if so it doesnt try to expand it.
  2399. 17./play command can now play single lines randomly picked from
  2400.    a file (a specific line can also be specified). The format is:
  2401.    /play [-crl] [channel/nick] <filename> [delay/linenumber]
  2402.    Using -r means pick a line randomly, using -l means pick
  2403.    a specific line specified by linenumber. The first line in the
  2404.    file MUST specify the number of lines in the file. Any *1 $1 etc.
  2405.    identifiers CANNOT be used in the played line.
  2406. 18.Added $read identifier which picks a line randomly from a file.
  2407.    eg. /say $read c:\funny.txt
  2408.        /kick # $1 $read c:\kicks.txt
  2409.    The first line in the file MUST specify the number of lines
  2410.    in the file. $read will insert ANY text, even commands with
  2411.    identifiers, and these will work like normal commands.
  2412. 19.Added Fast Send checkbox to DCC Send dialog.
  2413. 20.Fixed scrolling keys in Channel list and finger windows.
  2414. 21.Made Font list longer in font dialog.
  2415. 22.Added "auto-join on invite" option to options dialog. An
  2416.    auto-joined channel is initially minimized (this might not
  2417.    always work for various reasons...)
  2418. 23.Added Function key support F1 to F12. Define in the alias
  2419.    window like a normal alias for example:
  2420.    /F1 /say Hello!
  2421.    /F5 /query $1   (for use on nick listbox in channel window)
  2422. 24.Font width measurement for copy/paste wasn't correct for
  2423.    certain types of fonts.
  2424. 25.Fixed problem with minimized windows being sized wrongly.
  2425. 26.Fixed /channel bug. Now times out after 30 seconds, at
  2426.    which point another /channel can be issued. BUT if the old
  2427.    /channel command is replied to, your status window will fill
  2428.    up with ban list information for that channel. No way around
  2429.    this I'm afraid!
  2430.  
  2431. 13/08/95 - mIRC v3.51 (minor update)
  2432.  
  2433. Fixes/Additions:
  2434. 1.Fixed garbage character output bug.
  2435. 2.mIRC16 wasn't recognizing version reply from Win95.
  2436. 3.Making mIRC active with a click wasn't setting the focus
  2437.   to the active window correctly.
  2438. 4.Fixed security bug in the fileserver.
  2439. 7.Fixed $day bug.
  2440. 8.Removes unused bold/italic/etc. characters from lines.
  2441. 9.Fixed ON MODE bug with +/-k.
  2442. 10.Fixed GPF bug in on mode/servermode.
  2443. 11.Fixed Reset bug, wasn't resizing small windows properly.
  2444. 12.mIRC wasn't outputting to the status window if it was
  2445.    starting out maximized.
  2446. 13.The /auser, /guser, /ruser, /enable, and /disable commands
  2447.    now do NOT save changes immediately to the INI file when
  2448.    they are used. Remote information is now saved either on
  2449.    exiting mIRC, or if the remote dialog is opened/closed.
  2450. 14.Now uses the ctl3d dialogs as default. The -d is ignored,
  2451.    but you can now use -n to disable the 3d dialogs.
  2452. 15.Complete dialog interface improvements (for mook ;)
  2453. 16.Commands using $* were not processing commands following them.
  2454. 17.Fixed socket() initialization bug in various routines.
  2455. 18.Improved how mIRC uses/gets your local hostname and ip address.
  2456. 19.Fixed fileserver dirinfo.srv bug.
  2457.  
  2458. 07/08/95 - mIRC v3.5
  2459.  
  2460. Fixes/Additions:
  2461. 1.Using IP address of a server now works...!
  2462. 2.A ctcp ACCEPT/RESUME now doesn't look at the filename
  2463.   to make a match but only at the port number.
  2464. 3.Fixed perform option being executed after every MOTD.
  2465. 4.Notify on initial connect is now done just before Perform option.
  2466. 5.Fixed bug in displaying wrong Server Name in titlebar after
  2467.   changing server name in setup.
  2468. 6.Scrollback buffer wasn't freeing lines properly.
  2469. 7.Added $time, $day, and $date as parameter types.
  2470. 8.Prefixing a remote event with '*' means it should only
  2471.   be performed if you have Ops on the event channel.
  2472. 9.Optimized Text Copy routine - now faster/smoother.
  2473. 10.Fixed divide by zero GPF in /pop routine.
  2474. 11.Modified Op status checking routine.
  2475. 12.Added a font dialog.
  2476. 13.Width of user listbox in channel is now measured properly to
  2477.    take account of fixed/variable width fonts.
  2478. 14.Improved mode-change handling routine.
  2479. 15.ON ACTION now works for actions (same structure as ON TEXT).
  2480. 16.Using $* improperly would result in a GPF.
  2481. 17.The "Always get IP address on connect" wasn't working.
  2482. 18.A /me now cannot be sent without a message.
  2483. 19.Cleaned up several routines, removed potential GPFs & other problems.
  2484.    (most of which were detected while compiling the 32-bit version)
  2485. 20.Double-clicking on a servername in Setup dialog is same as
  2486.    selecting Connect.
  2487. 21.Now available in a 32-bit version (with optional air-conditioning).
  2488. 22.Added /wavplay <sound.wav> command.
  2489. 23.Two bugs in Getting IP address routines were fixed.
  2490. 24.Fixed unknown mode oo bug.
  2491. 25.The ON OP/SERVEROP/DEOP were noticing only the first opped nick.
  2492. 26.Address as returned by a /whois now has an @ sign.
  2493. 27.Added $cb parameter, which refers to the first 256 characters
  2494.    of current clipboard contents.
  2495. 28.The /flood command now inhibits only specific types of replies to
  2496.    the server eg. replies to Remote/events/ctcp (basically, replies
  2497.    triggered by other users).
  2498. 29.Made random delay auto-op an option in the options dialog.
  2499. 30.A user in the remote user list can now have multiple access levels:
  2500.    5,=10,=15,=17:*!*@mardam.demon.co.uk
  2501.    1) The first level in the list is treated normally and can be anything.
  2502.    2) The remaining levels are treated as = levels (even if you dont put the
  2503.       = infront of them).
  2504. 31.Finger window popup menu now shows the last 5 fingered addresses
  2505.    for quick selection.
  2506. 32.Now prevents Channel list window being closed while a listing is being made.
  2507. 33.The mode change checking routines have been improved.
  2508. 34.Cleaned up/Improved popup menu positioning routine.
  2509. 35.Added /rlevel <level> command which removes all users with the specified
  2510.    access level from the remote user list.
  2511. 36.Fixed problem with extra spaces being appended to sent lines.
  2512. 37./omsg and /onotice can now take an optional channel argument.
  2513.    eg. /omsg [#channel] <message>
  2514. 38.Windows opening in mIRC are now not given focus if mIRC is not the
  2515.    active application.
  2516. 39.Text in remote dialog is displayed more quickly now.
  2517. 40./ignore now also ignores all notices. This means you can't do ctcp on
  2518.    any person you ignore since a reply to a ctcp is a notice.
  2519. 41.Added $server, $ip, and $host as identifiers.
  2520. 42.Can now define groups of commands/events in the remote:
  2521.    #2 start
  2522.    1:ON JOIN:...
  2523.    1:ON TEXT:...
  2524.    #2 end
  2525.    You can use /enable #2 or /disable #2 to enable/disable group #2.
  2526.    A disabled group is ignored by the remote.
  2527.    You cannot have groups within groups.
  2528. 43.Now shows User mode in status window title.
  2529. 44.The READ command in the fileserver now does paging (default of 20 lines)
  2530.    and prompts user whether to continue listing or to stop. User can specify
  2531.    optional paging size with: read [-numberoflines] <file.txt>
  2532. 45.The READ fileserver command now also allows reading of any file.
  2533. 46.Control-Home/End now moves to top/bottom of window text buffer.
  2534.    Control-Page Up/Down moves up/down line-by-line.    
  2535. 47.Can now do /help <commandname> for most commands mirc knows.
  2536. 48.Each window now has a 20 line command history buffer, use Cursor Up/Down
  2537.    in single-line editbox, or Control-Up/Down in multi-line editbox.
  2538. 49.Protect-list bug fixed.
  2539. 50./ruser nick! now removes any address beginning with nick! in the
  2540.    user list.
  2541. 51.Can now handle multiple /ban and /guser commands one after the other.
  2542. 52.Can now also specify *N1-N2 or $parmN1-N2. For a horrible example, see:
  2543.    1:TEST:/notice $1 *1 *2-6 *9:$nick $parms $parm1 $parm1* $parm3-5 $parm4-9
  2544. 53:Optimized text display routines.
  2545. 54.Fixed the undernet /uwho X GPF.
  2546. 55.Fixed % problem with actions.
  2547. 56.Improved output of /finger <address> routine, now expands tabs and
  2548.    inserts empty lines in the correct places.
  2549. 57.Fixed GPF bug in handling of KILLs.
  2550. 58.Added a crude ON MODE/SERVERMODE to react to a *channel* mode change.
  2551.    1!:ON MODE:#mirc:-spmi+lktn 20 mykey:/notice *1:$nick Illegal mode change!
  2552.    When someone changes the channel mode, mIRC enforces the above
  2553.    channel mode instead, and sends the user a notice.
  2554. 59.Now removes redundant spaces from lines in the Options dialog.
  2555. 60.Fixed disappearing popups/commands/events problem.
  2556. 61.Improved /ruser command so that it can work like /ban and /guser.
  2557.    /ruser <nick> [type]   if you do NOT specify a type, then it works
  2558.    as usual and removes the specified nick from the user list. If you
  2559.    DO specify a type, it looks up the users address and removes that
  2560.    address from the user list.
  2561. 62.Now correctly initiates a DCC CHAT using 'chat' as opposed to
  2562.    the originators name.
  2563. 63.Improved Channel List Window Popup menu. Added a dialog which
  2564.    allows you to respecify the list parameters to relist the window
  2565.    without having to do a relist from the server.
  2566. 64.Fixed "Error sending data" at end of transfer with fast send turned on.
  2567.  
  2568. 29/06/95 - mIRC v3.42 (minor update)
  2569.  
  2570. Fixes/Additions:
  2571. 1.Fixed Beeping saving/loading beep settings using only nickname
  2572.   and not the whole line in 'DCC Chat with krejt'.
  2573. 2.The Local Host name can now be changed while online.
  2574. 3.The /ban command did not allow processing of following commands.
  2575. 4.Fixed 'Enter' bug in single-line editbox (?).
  2576. 5.If "Show quits in channel" wasn't checked, user would not be
  2577.   removed from channel namelist when user quits.
  2578. 6.Unbanning in the /channel dialog now unbans 3 users at a time
  2579.   in one mode command instead of one user at a time.
  2580. 7.Added Options->Auto-Op random pausing (up to 7 seconds).
  2581. 8.Minimized get icon now shows nickname.
  2582. 9.Fixed server ports being reset to 6667.
  2583. 10.Fixed the /msg =nickname GPF bug.
  2584. 11.Added * to beginning of username in /ban addresses.
  2585. 12.Changed /finger method slightly.
  2586. 13.Added /pop <delay> [#channel] <nickname> command which performs
  2587.    a paused op on the specified user within a random number of seconds.
  2588. 14.A DCC Chat window is only given focus on connection if it is
  2589.    the active window, otherwise it just beeps once.
  2590. 15.Can now do /help <topic>.
  2591. 16.Fileserver was ignoring <max gets> parameter and limited users to
  2592.    get only one file at a time.
  2593. 17.Optimized routine for handling mode changes.
  2594. 18.Fixed ON NOTICE bug.
  2595. 19.Fixed /uwho (is operator) bug and /uwho ctcp bug.
  2596. 20.Fileserver: if file has no extension then '.' is automatically
  2597.    added to user get request filename.
  2598. 21.Improved voiced/opped display of nicks but still when a user is
  2599.    deopped and has a voice, things mess up.
  2600. 22.Now automatically shortens your nicknames to the maximum length
  2601.    allowed by the server you connect to.
  2602. 23.Fixed bug with /ban after using the /auser command.
  2603. 24.Rewrite of INI reading routines in the hope of fixing GPF's
  2604.    and other weird problems that are being caused by this.
  2605. 25.Changed timing of Misc->Options->perform commands, now sends
  2606.    commands right after end of MOTD.
  2607.  
  2608. 21/06/95 - mIRC v3.3, v3.4
  2609.  
  2610. Fixes/Additions:
  2611. 1.Fixed line splitting in single line editbox.
  2612. 2./describe now displays as a normal action if you are on
  2613.   the channel that you are sending to.
  2614. 3.Can now do 1!:ON TEXT:etc... which means this command should not
  2615.   react to any events caused by me.
  2616. 4.Added alternative join/part/quit format option.
  2617. 5.Fixed :! GPF.
  2618. 6.Fixed $opnick problem.
  2619. 7.Directories are now sorted in DCC Send dialog.
  2620. 8.Can now specify directory for mirc.ini file on command line.
  2621. 9.Notify routine now checks for a blank line!
  2622. 10.Server name is now shown in status window title bar.
  2623. 11.Fixed $parms not being passed on with a :> directive.
  2624. 12.Added /add [-apuce] filename.ini and /save filename.ini
  2625.    which load in alias, popups, and remote user, command, and event sections from
  2626.    the specified ini file. The /save saves all of these five sections to the
  2627.    specified ini file.
  2628. 13.Added $me as an alias parameter which refers to your nickname.
  2629. 14.Added option to append text to application title bar.
  2630. 15.Can use ; or REM to comment out lines in the remote/event sections.
  2631. 16.Now connects even if unable to get your local host name but was still able to
  2632.    get your ip address (should have done this a long time ago!).
  2633. 17.Added a /raw command which sends any parameters you supply directly to the server.
  2634.    You MUST know the correct RAW format to use this command.
  2635. 18.Added /omsg and /onotice commands which send a message to all channel operators
  2636.    on the current channel. eg. /omsg Hello there!  These are limited to users with Op status.
  2637. 19.Can now specify max. number of lines in scrollback buffer.
  2638. 20.Fixed bug in the /auto, /notify, /ignore, and /protect storage routines.
  2639. 21.Can now minimize a window quickly by pressing the ESCape key (option).
  2640. 22.Added /timer1 to /timer9 commands in the format:
  2641.    /timerN <repetitions> <delay in seconds> <commands to be performed>
  2642.    eg. /timer1 30 /ame is AWAY!
  2643. 23.Status window can now remember minimized/maximized position.
  2644. 24.DCC Chat window is now not minimized if it is initiated by you.
  2645. 25.Added crude /flood control, format: /flood <numberoflines> <seconds> <pausetime>.
  2646.    Prevents mIRC from sending any lines to the server if it has sent too
  2647.    many lines in a specified number of seconds. These lines are NOT stored,
  2648.    they are lost.
  2649. 26.Fixed problem with $ followed by letters not being displayed. eg. $SHELL
  2650.    ($ followed by a number is always assumed to be a parameter).
  2651. 27.Added: +2:ON JOIN:etc... the + limits this command to only level 2 users.
  2652. 28.Added Select File/Directory dialog to Add, Extras, and DCC Options dialogs.
  2653. 29.Fixed weird DCC-related bug in input routine...?
  2654. 30.Added ON SERVEROP event eg. 1:ON SERVEROP:#:/msg *1:$me $opnick was opped by $nick
  2655.    where $nick refers to the server that did the opping.
  2656. 31.Added /closemsg <nickname> command to close message windows with a certain nickname.
  2657. 32.Fixed USER not enough parameters problems.
  2658. 33.Each window now stores it's own previous line (using /).
  2659.    Using / brings back last line typed in current window.
  2660.    and /! brings back last line typed in any window.
  2661. 34.Finger server now uses different method to do a finger which might solve
  2662.    problems some people were having.
  2663. 35.Can now use either the IP address or the Hostname of an IRC server.
  2664. 36.DCC Send icon now shows nickname.
  2665. 37.Added option "Reconnect on disconnection".
  2666. 38./help now brings up mirc.hlp file irc commands section.
  2667. 39.Now removes strange characters from users name when logging.
  2668. 40.Can now use $parm1* just like the $1* parameter.
  2669. 41.Fixed /uwho "is operator" bug.
  2670. 42.Windows can be resized to a smaller size.
  2671. 43.Fixed DO problem.
  2672. 44.Quit in a channel now just shows nickname and quit message.
  2673. 45./join #this_is_a_test_of_brigs_bug has been fixed.
  2674.    But there's still a limit of how long a channel name can be!
  2675. 46.Fixed buildup of %'s when recalling previous line.
  2676. 47.Added -c switch to /play command to allow playing of commands.
  2677. 48.If resizing window and you're at the bottom of the buffer
  2678.    it stays at the bottom after the resizing.
  2679. 49.Fixed problem with silent disconnections (i think).
  2680. 50.Quit now uses a default message of (Leaving).
  2681. 51.Fixed occasional window text not being updated?
  2682. 52.Added Beeping option to Chat/Channel/Query window system menus which
  2683.    overrides Options "Beep on Message" setting. Each window remembers
  2684.    it's beeping setting.
  2685. 53.Added ON NOTIFY event. eg. 1:ON NOTIFY:/msg *1:$me $nick is on IRC!
  2686. 54.Added /log on/off command for logging windows to file.
  2687. 55.Added $+ parameter which means append the next parameter without
  2688.    inserting a space before it.
  2689. 57.Fixed /stats problem.
  2690. 58.Fixed 1:*:! problem.
  2691. 59.Added /fserve <nickname> <maxgets> <homedirectory> <welcome.txt> for fileserver.
  2692. 60.Fileserver improvements:
  2693.    1) now sends 30 second timeout warning to idle user.
  2694.    2) Directories are now listed horizontally in wide listing.
  2695.    3) If user does ls -4 and then does ls the -4 is remembered.
  2696.    4) Can do ls -[k|b] for listing in K's or bytes.
  2697.    5) Greatly improved fserve routines.
  2698.    6) Prevents a user having more than one fileserver session open.
  2699.    7) Directories/files are now sorted.
  2700. 61.Greatly improved dynamic memory allocation.
  2701. 62.Made change to the ON TEXT event. The search text should now be
  2702.    specified in the following manner: eg. 1:ON TEXT:text:#mirc:/msg *1:etc...
  2703.    where text is:
  2704.    =text   - if user said only this word
  2705.    text*   - if user started line with this word
  2706.    *text   - if user ended line with this word
  2707.    *text* or text  - if user said this word anywhere
  2708. 63.Added 5:ON OP:= which means that any level 5 or higher users will not get a
  2709.    reaction from a lower level ON OP when they are opped. Works with other
  2710.    events and remote definitions as well.
  2711. 64.Cleaned up/optimized/rewrote many many routines.
  2712. 65.Fixed GPF when window is closed while popupmenu is up.
  2713. 66.Fixed "Unable to send query to server" problem(?)
  2714. 67.Fixed /auser /ruser being lost if Cancel pressed in remote dialog.
  2715. 68.Can now select a maximum of 9 files to send in dcc send dialog.
  2716.    Also added a minimize option to minimize all dcc send windows.
  2717. 69.Fixed bugs in INI reading routines.
  2718. 70.Added /guser <level> <nick> [type] command which does the same thing
  2719.    as /auser but does a /whois on the specified nickname first and then
  2720.    adds their address to the remote user list.
  2721. 71.Remote DCC Send window closes if other user closes connection.
  2722. 72.If a DCC Get window is waiting for a resume acknowledgement and
  2723.    times out then the window is closed.
  2724. 73.Speeded up text update in windows significantly.
  2725. 74.Added /exit command which forces mIRC to closedown.
  2726. 75.Now removes directory prefix from a DCC Get file.
  2727. 76.Major DCC Send improvements.
  2728. 77.Added /fsend [on|off] an experimental fast dcc send option.
  2729. 78.Added /ulist which lists users in the remote list with specific access levels.
  2730. 79.Fixed /oper command.
  2731. 80.Changed /ban types (1 to 4). Also /ban with no type bans the
  2732.    whole address with no wildcards. Banning an IP address now adds
  2733.    a wildcard to the last ip number.
  2734. 81.Added/Fixed other things I forgot to write down...
  2735.  
  2736. 2/05/95 - mIRC v3.2
  2737.  
  2738. Fixes/Additions:
  2739. 1. GPF on join to undernet fixed.
  2740. 2. GPF on joining channel with too long a topic fixed.
  2741. 3. Added title specification to parameter box, eg.: /j /join $?="Enter channel name:"
  2742. 4. Can now use Page Up/Down keys to scroll through buffer.
  2743. 5. Fixed spaced out /who result.
  2744. 6. Now cannot prevent the standard ctcp version reply being given.
  2745. 7. Can now build as many levels of popup menus as required.
  2746. 8. Added Query/Chat popup menu.
  2747. 9. Added extra double-click options.
  2748. 10.Added auto-close send window option.
  2749. 11.A remote send window now closes if other party crashes/cancels get.
  2750. 12.Idle time wasnt working in single-line edit box.
  2751. 13.Sockets weren't being closed properly.
  2752. 14.Fixed problem with directory and slash.
  2753. 15.added /channel command for channel central (only works in a channel).
  2754. 16.Added ability to view/change topic in Channel Central.
  2755. 17.Editboxes thinned down for Win95.
  2756. 18.Changed dialog borders to reflect standard practise.
  2757. 19.Added ... to menu items to reflect standard practise.
  2758. 20.GPF on nick collision fixed??
  2759. 21.Timer now updates in the timer window when online.
  2760. 22.Can now do both  /ban nickname  or   /ban #channel nickname
  2761. 23.Complete rewrite of editbox routine. Can now paste properly.
  2762. 24.Added "You are Op/Not Op" to channel central window.
  2763. 25.Fixed problem in win95 with title disappearing when window is minimized.
  2764. 26.Fixed remote :*: responding to an action command. (oops :)
  2765. 27./server with no parameters connects to the last specified server.
  2766. 28.Fixed problem with | alias seperator placed after a *1 *2 etc.
  2767. 29.Fixed problem with DO remote command.
  2768. 30.Remote can now handle commas etc. stuck to identifiers eg.
  2769.    1:WHOAMI:/notice *1:$nick You are $nick, your address is $address.
  2770. 31.Added #$ parameter type. Prefixes the parameter with a #.
  2771.    cannot be used in a multi-command. eg #$* but can do #?1="Say what?"
  2772. 32.Added $! parameter type. Refers to the last line you entered in
  2773.    the entry parameter window.
  2774. 33.Added /amsg and /ame which do an All channel message and All channel action.
  2775. 34.Last used server in the Setup window is moved to top of list.
  2776. 35.If mirc.ini is not found in windows dir but found in current dir then it is
  2777.    automatically copied to windows dir without asking user.
  2778. 36.Added "Fast Ack" in DCC Opts window for non-compliant winsocks.
  2779. 37.Dialogs are now positioned a little higher in Win95 above menu bar at bottom of screen.
  2780. 38.Now allows leading spaces in text to channel/query/chat windows.
  2781. 39.Fixed problem with cursor not showing in editbox??
  2782. 40.Iconized Win95 windows do not flash anymore but are drawn highlighted with
  2783.    a red rectangle.
  2784. 41.Addresses must now be standard form eg. *!*khaled@mardam.demon.co.uk
  2785. 42.Can now do /dcc send <nickname> <file1> <file2> <file3> ... <fileN>
  2786. 43.Added /beep <number> <delay> command.
  2787. 44.Fixed GPF bug with malformed DCC Send requests.
  2788. 45.Added simple Event handler to remote section.
  2789. 46.Other bits I can't remember...
  2790.  
  2791. 23/04/95 - mIRC v3.1
  2792.  
  2793. Fixes/Additions:
  2794. 1. Added /ctcp $* performs command on all parameters.
  2795. 2. Remembers if main window was iconized.
  2796. 3. Added "finger" popup for finger window.
  2797. 4. Fixed mistake in graphics routine. Update is now faster.
  2798. 5. Windows open up in a more "windows" like fashion now.
  2799. 6. User listbox now lists all people on large channels.
  2800. 7. Using main menus under certain setups wasn't working properly.
  2801. 8. Cancel away on keypress now ONLY cancels if you say
  2802.    something in a channel or a query.
  2803. 9. Fixed finger client so can finger VMS hosts etc.
  2804. 10.Added new user warning about mirc.ini file.
  2805. 11.Can now do aliases such as: /laugh /me laughs at $1's joke
  2806. 12.Added timeout to chat/get confirm dialog.
  2807. 13.DCC sessions now show only a nickname.
  2808. 14.USER login to IRC was working but not correct.
  2809. 16.Improved Editbox: Can now enter multiple lines with a paste
  2810.    and they will be sent correctly.
  2811. 17.Fixed Auto-Op wild-card routine.
  2812. 18.Fixed beeping when windows are maximized & windows don't scroll.
  2813. 19.Fixed small bug in /join command, now allows key.
  2814. 20.Notify now tells you if no one in your list is on IRC.
  2815. 21.Added User info window as the command /uwho <nickname>.
  2816. 22.Internal reorganization and cleaning up.
  2817. 23.PASS password to server was incorrect.
  2818. 24.Added /msg =nickname for dcc chat.
  2819. 25.Added /play command.
  2820. 26.Added /describe command.
  2821. 27.Major improvement of screen update, speed has more than doubled.
  2822. 28.Added option to use windows colours.
  2823. 29.DCC Send by remote is automatically minimized.
  2824. 30.Now tries three different ways to get local host and ip address.
  2825. 31.Red rectangle is drawn around icons of windows with pending messages.
  2826.    For Windows 95 the iconized window flashes instead.
  2827. 32.Now changed so that can have only ONE chat session with the same user.
  2828. 33.If user replies to a /dcc chat request by initiating another dcc
  2829.    chat then mIRC treats this as an acceptance of it's own request.
  2830. 34.You can now ignore addresses as well as nicks.
  2831. 35.Remote DCC's close windows automatically on finish.
  2832. 36.Added DCC timeout options.
  2833. 37.Added #string parameter to /list command.
  2834. 38.Fixed problem with moderated channels and +nicknames.
  2835.  
  2836. 26/03/95 - mIRC v2.8c etc...
  2837.  
  2838. Fixes/Additions:
  2839. 1. Added wild cards for auto-op.
  2840. 2. If a user changes nicks while in a query to you and they are on
  2841.    the same channel as you, mIRC uses the nickname change notification
  2842.    to update the query window name so you can keep talking to the person.
  2843. 3. When a query is received and it is iconized, the icon is placed
  2844.    above all other windows so you can see it.
  2845. 4. Scroll bars have been made a standard size and moved a little bit to
  2846.    make them look neater.
  2847. 5. ban command now has 4 levels of ban. eg. /ban <nickname> <number>
  2848.    where <number> is a value 0 to 3.
  2849. 6. The /server command can now take Port and Password parameters.
  2850.    for example, /server irc.server.co.uk 6667 password
  2851. 7. Added "Use Dedicated Message Window" option. private messages go
  2852.    only to this window.
  2853. 8. "Notices" work more intelligently now and will appear in a channel
  2854.    window if sent by someone on that channel. Otherwise they are sent
  2855.    to the status window as usual.
  2856. 9. mIRC now listens for identd requests and replies using the
  2857.    userid part of your email address as a UNIX system.
  2858. 10.Font and Window position can now be saved for the Message Window
  2859.    and logging/saving to proper filename now.
  2860. 11.Was GPFing on a nick collision. Oops :)
  2861. 12.Added channel modes to ban list routine. Much more useful now!
  2862. 13.Added context-sensitive F1 help key.
  2863. 14.Added new alias parameter type.
  2864.    $$ = parameter MUST be filled. If it is not filled, command is not executed.
  2865.    Before, /whois $1 was executed even if no parameter was given.
  2866.    Now, /whois $$1 will only be executed if you supply a parameter.
  2867. 15.Can now also do  $$?1  or $?1  which means, try to fill this
  2868.    value with parameter one if it exists. If parameter one doesnt exist,
  2869.    ask for it.
  2870. 16.Fixed problem with copy/paste routine. MUCH faster now.
  2871. 17.Fixed font problem with text not showing in Editbox when in windows
  2872.    screen with large font setting.
  2873. 18.Added DCC Resume capability. non-standard.
  2874. 19.Allows multiple select in ban list.
  2875. 20.Fixed dialog positioning when in different screen modes.
  2876. 21.Added option to prefix own messages with own nick.
  2877. 22.Would crash if popup menu definition was incomplete. fixed.
  2878. 23.Double-click in a query window does a /whois.
  2879. 24.Added small popup menu to channel list window.
  2880.  
  2881. 21/03/95 - mIRC v2.8b (not released)
  2882.  
  2883. Fixes/Additions:
  2884. 1. the % character can now be used.
  2885. 2. help file had a few mistakes in it.
  2886. 3. a /msg results in outgoing message being shown
  2887.    in the correct window.
  2888. 4. added option "Beep on message while in buffer".
  2889. 5. /hug /me *hugs* $1 now works.
  2890. 6. allow /query etc commands in dcc chat window.
  2891. 7. problems handling /msg and other commands.
  2892. 8. dissallow changing nickname and alternate in setup when online.
  2893. 9. log files werent being closed properly.
  2894. 11.enlarged Popup menus window.
  2895. 12.refined appearance of /msg /notice/ etc. commands.
  2896. 13.aliases had a bug or three.
  2897. 14.added [x] minimize to auto-accept chat request.
  2898. 15.ctcp ping seconds working properly now.
  2899. 16.query window sometimes opened up VERY small due to saving
  2900.    window size while it was iconized.
  2901. 17.Changed query/chat windows so that only one default font
  2902.    is saved.
  2903. 18.Changed "beeping" method to minimize number of beeps.
  2904. 19.File logging was messed up.
  2905. 20.Speeded up display of popupmenu definitions in popup dialog.
  2906. 21.text wrapping wasn't taking notice of mid variable.
  2907. 22.changed minimum window size depending on whether it
  2908.    is a channel or not.
  2909. 23.now remembers default size for channel windows.
  2910. 24.fixed problem with previous-line routine.
  2911. 25.added /dcc packetsize command. All memory for DCC Send/Get
  2912.    sessions now allocated dynamically.
  2913. 26.when a window is maximized, widths weren't set properly for
  2914.    any other windows beneath it.
  2915.  
  2916. 18/03/95 - mIRC v2.7a
  2917.  
  2918. Fixes/Additions:
  2919. 1. Changed dblclk ban list routine again.
  2920. 2. Variable assignment was wrong in open window routine.
  2921.    Caused windows to behave strangely and crash.
  2922. 3. Changed query & msg commands. /msg does not open a
  2923.    window, /query does.
  2924. 4. Added beeping on query & notice options.
  2925. 5. The INI filename specified on the command line was not
  2926.    working for some mIRC functions.
  2927. 6. DCC sessions were not being closed properly, ie. files
  2928.    in some cases would be left open.
  2929. 7. Cosmetic changes - moved some options to extras dialog
  2930.    and other stuff.
  2931. 8. Invite command wasn't working properly.
  2932. 9. Corrected mistakes in the mirc.ini file.
  2933. 10.Query window size wasn't being saved.
  2934. 11.mIRC wasn't closing all DCC connections on quit.
  2935. 12.Now prevents duplicate server entries in setup dialog.
  2936. 13.Some windows are now more intuitively centered on opening.
  2937. 14.Now shows number of channels as they are being listed.
  2938. 15.Some windows were opening only in the top left corner.
  2939.    Window positioning is hopefully better now.
  2940. 16.QUIT and AWAY commands weren't setting message properly.
  2941. 17.Added /LEAVE (like /PART. command for compatibility.
  2942. 18.Again changed optimization switches in compiler. Previous
  2943.    settings caused more problems than I thought...
  2944. 19.Can now open mutiple DCC Chat sessions with the same person.
  2945. 20.Option to show Quits in channel window.
  2946. 21.now shows /msgs that you send.
  2947. 22.when doing a "reset position" window is placed neatly inside
  2948.    main window even if saved position was outside it.
  2949. 23.Changed /protect etc. to work using on and off.
  2950. 34.Added option to highlight own messages.
  2951. 25.Aliases with a * in them weren't working properly.
  2952. 26.About dialog now disappears on keypress.
  2953. 27.Can now continue DCC chats if disconnected from IRC.
  2954. 28.After disconnection, on reconnect to IRC, only channel windows
  2955.    are closed. All other windows remain open.
  2956. 29./SERVER command now works. (can use in popup menus!)
  2957. 30.Bugs in file handling routines.
  2958. 31.Bug in Channels list routine.
  2959. 32.Iconify query window option.
  2960. 33.beeps if message in channel and you are not at bottom of buffer.
  2961. 34.Added whois option on a query.
  2962. 35.If talking in query window and person logs off IRC,
  2963.    informs you nick is invalid *in* query window.
  2964. 36.when not at bottom of buffer and a channel message
  2965.    is printed, highlighting for copy/paste now stays on.
  2966. 37.Enlarged alias window.
  2967. 38.Alias window now shows number of aliases entered.
  2968.  
  2969. Possible Bugs/Annoyances:
  2970. 1. Text in window sometimes goes blank or isn't updated properly.
  2971. 2. Text sometimes prints over the scrollbar slightly.
  2972. 3. Multiple DCC sends/gets might not work properly.
  2973.  
  2974. 13/03/95 - mIRC v2.6b (a dud version - was unstable)
  2975.  
  2976. Fixes/Additions:
  2977. 1. Finger routine wasn't being cancelled properly.
  2978. 2. Now allows user to enter their own IP address.
  2979. 3. Certain windows would beep on closing (definitely fixed now!)
  2980. 4. Routine for printing text in window majorly optimized and cleaned up.
  2981. 5. Listbox popup menu would popup even if a user wasn't selected.
  2982. 6. Cleaned up the retrieve ban list routine.
  2983. 7. Winsock startup routine wasn't being initialized properly.
  2984. 8. Copy/Paste routine has changed. No longer need to press the shift key.
  2985. 9. QUIT wasn't appending quit message.
  2986. 10.Child windows were being positioned outside main window.
  2987. 11.Spotted and fixed oh so sneaky bug in word wrap routine.
  2988. 12.DCC Send/Get Directories default to same directory as mirc.exe.
  2989. 13.Can now specify directory for logs and buffer saves.
  2990. 14.Mode change with multiple settings wasn't working.
  2991. 15.Can now specify on the command line the name of the .ini file to
  2992.    use. Default name is "mirc.ini". This means you can have different
  2993.    .ini files for different nets.
  2994. 16.Added /! command, recalls previous command.
  2995. 17.Cleaned up the help file, made IRC commands section readable.
  2996. 18.Now compiling with different optimization switches. This
  2997.    automatically fixed around 5 "bugs" !!!
  2998.  
  2999. 08/03/95 - mIRC v2.5a
  3000.  
  3001. Fixes/Additions:
  3002. 1. added "always retrieve local host" option for people who have
  3003.    dynamic IP addresses!
  3004. 2. channel mode in title is permanently on. not an option anymore.
  3005. 3. Added ctcp USERINFO command for compatibility. However, it returns
  3006.    the same information as a ctcp finger command.
  3007. 4. moved some options to different windows were they made more sense.
  3008. 5. added /finger and /auto commands.
  3009. 6. fixed problem with releasing memory... popup menus weren't
  3010.    being freed properly so mIRC would lose as much memory as
  3011.    the size of the popup menus defined by the user. With the
  3012.    mirc.ini that comes with the program, this turned out to be
  3013.    3k+ of system resources everytime the program is run.
  3014. 7. the MODE for channel mode changes gets messy when lots of
  3015.    mode changes occur. cleaned it up.
  3016. 8. Window names in Window menu would not switch to the correct
  3017.    window when selected.
  3018. 9. Text buffers for windows were not being freed properly.
  3019. 10.Can now set the default font for the status/finger/list windows
  3020.    from their system menu. Only the DCC Send/Get windows have to
  3021.    be set from the font dialog window.
  3022. 11.added auto-log option for channels and query/dcc chat.
  3023. 12.Commands such as /finger and /run can now be used off-line.
  3024. 13.Corrected some mistakes in the mirc.ini file.
  3025.  
  3026. 05/03/95 - mIRC v2.4a
  3027.  
  3028. Fixes/Additions:
  3029. 1. major update of window handling - made more robust.
  3030. 2. notify would keep notifying even if it was still waiting
  3031.    for previous notify to be returned by server.
  3032. 3. popup menu positioning was incorrect in some situations.
  3033.  
  3034. 02/03/95 - mIRC v2.3a
  3035.  
  3036. Fixes/Additions:
  3037. 1. dcc get received file okay but closed connection too early.
  3038. 2. dcc send/get/chat were re-initiating arrays too early,
  3039.    didn't cause problems but made the program beep everytime you
  3040.    closed a window because the array was empty.
  3041. 3. some debug information was being printed! Arrrrgh! forgot to
  3042.    turn off the debug switch in the first release.
  3043. 4. updated help file with description of previously coded but
  3044.    forgotten items.
  3045. 5. In dcc get, if sender client did not specify size of file
  3046.    (which it should!. then mIRC said the size was zero bytes.
  3047.    Now it just says [unknown].
  3048. 6. highlighting now works properly.
  3049. 7. ".." previous directory wasnt showing up in dcc send dialog.
  3050. 8. the channel listbox wasnt adding/removing nicks properly.
  3051. 9. double-click for ban list. clicking twice only in the SAME
  3052.    place now brings ban list up.
  3053. 10.added option to display file size instead of percent complete
  3054.    in DCC send/get transfers.
  3055. 11.fixed timer display: wasnt displaying timer after nick change.
  3056. 12.adds "/nick " to editbox if both nicks collide on login.
  3057. 13.dcc send/get had problems with packet size. fixed.
  3058. 14.other cosmetic changes.
  3059.  
  3060. 28/02/95 - mIRC v2.1a
  3061.  
  3062. First public release.
  3063.  
  3064.